2014-08-27 88 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(按字母順序)

內得到 測試