小编典典

Elasticsearch词组前缀结果

elasticsearch

我有两个ES查询:

{match:{text:{query: "text box", type: "phrase"}}}
{match:{text:{query: "text bo", type: "phrase_prefix"}}}

问题是第二个查询返回的文档少于第一个查询,尽管我希望第二个查询返回第一个查询的所有记录以及其他内容。我想念什么?

谢谢


阅读 322

收藏
2020-06-22

共1个答案

小编典典

这可能是由于将max_expansions其设置为默认值10

试试这个

{
  "query": {
    "match_phrase_prefix": {
      "text": {
        "query": "text bo",
        "max_expansions": 100
      }
    }
  }
}

线程将帮助您了解术语的扩展方式。使max_expansions1000并查看结果。

基本上,您有很多以bo开头的单词,例如 bond,boss, 而且由于 “ x” 按字母顺序排在最后,因此您无法获得期望的结果。

我希望这有帮助!

2020-06-22