假设我们在ES Type
中存储了以下3个文档
文档1:
{
foo: [
"c"
],
bar: "bar1"
}
文档2:
{
foo: [
"a"
"b"
],
bar: "bar2"
}
文档3:
{
foo: [
"a",
"b",
"c"
],
bar: "bar3"
}
我想在ES中进行一次搜索,在给定输入foo: ['a', 'b', 'c', 'd']
的情况下,结果应该只返回Document 3。这基本上就是说,找到foo
数组中条目数最多的那个文档。
发布于 2017-09-22 08:05:27
你可以使用“应该”和“大小”为1,所以理想情况下,文档3具有很高的相关性,应该在顶部。和size 1将返回最相关的文档
"size" : 1,
"query": {
"bool": {
"should": [
{ "term": {"foo": "a"}},
{ "term": {"foo": "b"}},
{ "term": {"foo": "c"}},
{ "term": {"foo": "d"}},
]
}
https://stackoverflow.com/questions/46353283
复制相似问题