我有类似的文件
{
"name": "A",
"start": 5,
"end": 10
},
{
"name": "B",
"start": 1,
"end": 10
},
{
"name": "C",
"start": 20,
"end": 30
}
我也有一个
X
值(例如7)。我需要查找诸如start < X < end
的文档。在上面的示例中,这将产生两个文档(name
等于A
和B
)。我不知道该如何制定搜索查询:最初看起来是正确的
range
query实际上正在查找满足查询中传递的“大于” /“小于”标准的文档-这与相反我想要做。
最佳答案
以下两个range
查询将起作用
{
"query": {
"bool": {
"filter": [
{"range": {"start": {"lt": 7}}},
{"range": {"end": {"gt": 7}}}
]
}
}
}
关于elasticsearch - 如何搜索符合 “is between”标准的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39470804/