Elasticsearch電商搜索分詞效果調優

分詞是搜索中非常核心的一步,下面通過一個案例介紹在沒有專業分詞系統的情況下,如何做分詞性能的調優。

假設有下面幾個商品的名稱:

  1. 女士香水
  2. 香精
  3. 礦泉水
  4. 古馳香水
  5. 藍色經典男士淡香水
  6. 女士揹包

當搜索 「女士香水「(只是其中一個例子)的時候,如果分詞分的過細,分出:女士、香水,返回的排序結果會是:
這裏寫圖片描述

很明顯女士揹包並不應該排在最前面。

如果使用ik_max_word分詞會分的過細,這種方案召回率很高,但是準確率低;
如果使用ik_smart分詞,則會分的過粗,這種方案召回率低,但是準確率高。

因此,分詞的結果對搜索對準確度有很大對影響。

研發可以根據客戶對準確率和召回率對要求做取捨。

推薦對解決方法:

1.擴充專有詞庫。可以根據業務抽取出來專有詞庫,把詞庫更新到ik對自定義詞庫中。
2. 準確率高,使用ik_smart分詞;召回率高,使用ik_max_word分詞。

關於如何解決搜索「女士香水「的時候不讓「女士揹包「也搜索出來,請討論。