【问题标题】:Elasticsearch phrase prefix resultsElasticsearch 短语前缀结果
【发布时间】:2015-11-16 23:01:16
【问题描述】:

我有两个 ES 查询:

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

问题是第二个查询返回的文档比第一个少,尽管我希望第二个查询返回第一个查询的所有记录加上额外的一些记录。我错过了什么?

谢谢

【问题讨论】:

  • 您的text 字段是not_analyzed 还是使用类似于keyword 的内容进行分析?
  • 我们使用的是标准内置分析器。

标签: elasticsearch


【解决方案1】:

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

试试这个

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

thread 将帮助您了解术语的扩展方式。使max_expansions 1000 并查看结果。

基本上,您有很多以 bo 开头的单词,例如 bond, boss,并且由于 'x' 按字母顺序排在最后,因此您没有得到预期的结果。

我希望这会有所帮助!

【讨论】:

  • 是的,就是这样。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-23
  • 2018-04-21
  • 1970-01-01
  • 2019-09-09
相关资源
最近更新 更多