【问题标题】:Match Phrase Prefix Query匹配词组前缀查询
【发布时间】:2014-10-21 04:55:31
【问题描述】:

我遇到了一个问题,即 elasticsearch 在我的环境(暂存和生产)中返回不同的结果。

我使用的 elasticsearch 版本对于两种环境都是相同的。

version: { created: 1000199}

这两个环境都有相同的映射和索引设置。

我有一个标题字段为“test”的项目。我正在尝试执行 match_phrase_prefix 查询。然而,在我的暂存环境中,当我只搜索“te”时,结果会按预期返回。在生产中,我必须将搜索查询扩展到“tes”(3 个字母)来检索文档。

我发出的查询如下:

{
  "query": {
    "match_phrase_prefix": {
      "title": "test"
    }
  },
  "post_filter": {
    "term": {
      "uniqueId": "my_unique_id"
    }
  }
}

我可以看到两种环境之间的唯一区别是文档索引的数量。

在我的暂存环境中,我有大约。 150k 文档索引,相当于大约 297M。

在生产中,我有超过 1.2 亿个文档被索引,相当于接近 120GB。

这是一个规模问题,还是我缺少一些弹性搜索设置。就像我说的映射和设置在不同的环境中是相同的,所以我在这里有点难过。

【问题讨论】:

    标签: elasticsearch match-phrase


    【解决方案1】:

    我来晚了,但请看我的另一个answer。问题是max_expansions参数默认为10。

    您的暂存环境以“te”开头的单词比生产环境少,并且能够在 10 次扩展(按字母顺序)内获得 test

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      • 2017-06-30
      • 2023-01-30
      • 2017-12-05
      • 2014-02-08
      • 1970-01-01
      相关资源
      最近更新 更多