我遇到了一个问题,即 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。
这是一个规模问题,还是我缺少一些弹性搜索设置。就像我说的映射和设置在整个环境中是相同的,所以我在这里有点难过。