query_string查询没有考虑单词顺序

时间:2016-03-23 15:26:39

标签: elasticsearch

我有以下文件:

{ _id: 1, name: "ello worl" }
{ _id: 2, name: "world hello" }
{ _id: 3, name: "hello world" }

当我执行以下查询时:

{
 "query": {
   "query_string": {
     "query": "​*ello* *worl*"
    }
  }
}

文档按照与上面相同的顺序排序,但我希望它们符合1) 3) 2)的顺序。

我的问题是:为什么第三份文件的得分高于第二份?

P.S。使用通配符是强制性的。

1 个答案:

答案 0 :(得分:0)

事实证明,无法通过与弹性搜索中开箱即用的通配符相关的方式对文档进行排序。所以我找到的解决方法是使用多个getFunc叶子查询进行布尔查询,每个查询都使用不同的提升来执行通配符搜索。

should