我遇到的问题是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.
这是一个规模问题,还是有一些我缺少的弹性搜索设置.就像我说的那样,环境中的映射和设置是相同的,所以我有点难过.
最佳答案 我很晚了,但看到我的其他
answer.问题是max_expansions参数,默认为10.
您的暂存环境的字数较少,以“te”开头,而不是生产环境,并且可以在10次扩展中进行测试(按字母顺序排列)