對不起,這個糟糕的標題,但讓我解釋我遇到的問題。我目前正在開發一個項目,其中的一部分包括一個地址搜索引擎,這是我在elasticsearch中的一個搜索引擎。我想要做的是在我的搜索欄中輸入新字符以生成自動完成結果並嘗試「猜測」用戶正在鍵入哪個(〜100萬個)地址時使用fuzzy_like_this_field查詢。elasticserch結果數fuzzy_like_this_field影響「好」結果正在返回
我的問題是,我目前對我的查詢有一個大小限制,因爲返回所有結果都是不必要的,而且花費時間。我的問題是,除非我從查詢中返回1000個或更多結果,否則我通常不會得到「正確」的結果。例如,如果我在試圖搜索「100百老匯」時輸入「100寬」,並且我只返回200個結果(關於我可以做的最大值,而不花費太長時間),100百老匯無處可尋,儘管所有返回的結果比我想要的結果具有更高的levenshtein距離。如果我從查詢中返回2000個結果,我會得到「100 broadway」作爲第一個結果,但這需要很長時間。我甚至無法過濾返回的結果,將正確的結果帶到頂端,因爲它沒有被返回。
不應該在查詢返回N的大小限制返回最好的N個結果,而不是一個看似隨機的子集?
對不起,如果這是措辭不當或太模糊。