2015-02-11 63 views
0

我已經在Elasticsearch中使用邊界-ngrams實現了自動完成功能。一切工作正常,但有一個奇怪的例子,我的執行不夠聰明,無法處理。Elasticsearch自動完成與查詢字詞的雙重匹配

假設我有索引的兩個文件,

Green Dragon 
Green Griffin 

和I型

green gr 

結果我回來是

Green Dragon 
Green Griffin 

我使用的是 「匹配」 的查詢與「和」運算符,因此查詢中的每個術語必須匹配才能匹配查詢。返回Green Dragon的原因是因爲查詢術語「綠色」匹配「綠色」,查詢術語「gr」也匹配「綠色」。當然,我想把綠龍從結果中排除出去。

似乎要解決這個問題Elasticsearch需要跟蹤索引中的哪些標記已匹配,而不是重用它們。在Elasticsearch中有沒有辦法做到這一點?

回答