【发布时间】:2016-07-24 16:33:25
【问题描述】:
我有许多包含 rate 属性的文档,该属性是一个包含可接受速率的最小/最大范围的数组。
{ "rate": [250, 700] }
我现在想执行提供另一个范围的查询,例如:
{
"bool": {
"must": [
"range": {
"rate": { "from": 100, "to": 500 }
}
]
}
}
这很好用,并且总是返回的值至少有一个在我想要的范围内提供的值。
但是,对于所有结果,分数都是相同的。值是否与文档上的值相同或者它只是达到几个数字的范围都没有关系。如下图:
{
"_id": "one",
"_score": 1",
"_source": { "rate": [250,750] }
},
{
"_id": "two",
"_score": 1",
"_source": { "rate": [200,350] }
},
{
"_id": "three",
"_score": 1",
"_source": { "rate": [500,750] }
}
有什么方法可以改善范围搜索,提供另一个这样的范围?
【问题讨论】:
标签: elasticsearch elasticsearch-query