2014-08-27 83 views
2

我有一个问题,elasticsearch在我的环境(分段和生产)中返回不同的结果。匹配短语前缀查询

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

version: { created: 1000199} 

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

我有一个项目标题为“测试”的标题字段。我正在尝试执行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设置。就像我所说的,映射和设置在整个环境中是相同的,所以我在这里有点难过。

回答

1

我很晚了,但看到我的其他answer。问题是max_expansions参数默认为10。

暂存环境有少言与“德”比生产环境开始,它能够扩展10(按字母顺序)

内得到 测试