您好,我无法确定Elasticsearch中多个OR的以下查询的正确性。我想选择所有唯一数据(不计数,而是选择所有行)
我在 flex 查询中对此的最佳尝试是
GET mystash/_search
{
"aggs": {
"uniques":{
"filter":
{
"or":
[
{ "term": { "url.raw" : "/a.json" } },
{ "term": { "url.raw" : "/b.json" } },
{ "term": { "url.raw" : "/c.json"} },
{ "term": { "url.raw" : "/d.json"} }
]
},
"aggs": {
"unique" :{
"terms" :{
"field" : "id.raw",
"size" : 0
}
}
}
}
}
}
等效的SQL将是
SELECT DISTINCT id
FROM json_record
WHERE
json_record.url = 'a.json' OR
json_record.url = 'b.json' OR
json_record.url = 'c.json' OR
json_record.url = 'd.json'
我想知道上面的查询是否正确,因为生成报表需要数据。
最佳答案
一些说明:
示例代码:
{"size":0,
"query" :{"filtered":{"filter":{"terms":{"url":["a", "b", "c"]}}}},
"aggs" :{"unique":{"term":{"field":"id", "size" :0}}}
}
关于elasticsearch - Elasticsearch中的多重或过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33646543/