2013-04-12 55 views
1

我正在將elasticsearch整合到資產跟蹤應用程序中。當我最初設置製圖時,我將'品牌'字段設想爲'日立'或'福特'這樣的單一字段。相反,我發現實際數據中的品牌領域包含多個術語,如「MB 7 A/B」,「B-7」甚至「Brush Bull BB72X」。Elasticsearch自動完成和針對多個術語字段的搜索

我有一個自動完成組件設置,現在我配置爲對edgeNGram字段執行自動完成,並對nGram字段執行實際搜索。我設置它的方式完全沒用,因爲用戶期望搜索結果僅限於自動完成匹配的內容。

有關設置我的映射以支持自動完成和後續搜索這樣的多項目字段的最佳方法的任何建議?我正在考慮針對關鍵字字段的條件查詢,或者考慮使用'和'作爲運算符的匹配查詢?我還必須處理像「B-7」這樣的連字符。

+0

你想「BUL」自動填充到「刷牛BB72X」嗎? – javanna

+0

不...現在我認爲前綴匹配是一個很好的開始。我現在通過查詢edgeNGram字段構建我的自動完成值,然後在用戶搜索時對同一字段執行phrase_prefix查詢。似乎正在工作,但我仍在努力。有什麼建議麼? – Troy

回答