我是ES的新手,想设置一个查询来搜索多个词。
我的SQL看起来像:
"SELECT field4 FROM tablename WHERE (field1 = 'A' OR field1 = 'AA') AND (field2 = 'B' OR fields2 = 'BB') AND (field3 = 'C' OR field3 = 'CC')"
在ES中,我正在尝试
{
"query": {
"bool": {
"must": [
{
"term": {
"field1": {"A","AA"}
}
},
{
"term": {
"field2": {"B","BB"}
}
},
{
"term": {
"field3": {"C","CC"}
}
}
}
}
}
最佳答案
您最可能想要的是一个terms
查询。您可以在此处查看其文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html
该站点的一个示例是:
{
"terms" : { "user" : ["kimchy", "elasticsearch"]}
}
另外,您现在的查询不是有效的json,您需要对其进行更正。