1. 程式人生 > >Solr應用之電商商品搜尋備忘

Solr應用之電商商品搜尋備忘

     把以前做電商商品搜尋的經驗歸檔一下。電商的搜尋功能大體上比較相同,從京東、蘇寧、易訊等大型電商都可以觀察出來。電商搜尋功能大致分為幾塊:

1. 商品搜尋、列表的展示,帶排序功能;可能有些產品會要求一個商品不同規格也聚合成一個展示。

2. 類別導航區塊、屬性過濾區塊;類別導航通常在頁面的左上方,屬性過濾塊通常在商品展示區上方。

3. 搜尋框自動聯想;敲了bing能提示“餅乾”、“冰塊”之類的

4. 查詢詞擴充套件;搜完一個詞在顯眼區域提供相關查詢詞,比如搜了“蘋果”,會提示“是否需要搜  蘋果手機套  iphone5s” 等

    第1,2點,以前在公司寫的一篇:http://mlcsdev.iteye.com/blog/2048371

 。電商的分詞不太重要,單字都可以接受,只是需要把一定的詞分出來,保證同義詞可用。另外一塊如何設定較好的預設排序,是需要根據使用者搜尋歷史來進行學習的,這點還沒做到。

有關3,4點solr的suggest元件也可以使用,但功能不滿足要求,之前的部落格提過實現方案。

或者參考美團的策略,或者直接使用nlpcn的"搜尋提示",我的辦法其實和nlpcn的辦法是一樣的。

那麼聯想和擴充套件的詞從哪來,通常是從搜尋日誌整理,實在不行可以從商品標題上取。

另外還有一個拆詞搜尋,就是一個query因為太亂什麼都沒搜到,需要根據query裡面部分有意義的詞分別列出幾個商品。這個比較簡單,就直接按分詞的思路,把query裡面出現的詞拿出來單獨搜就行了。

   這裡只是介紹功能實現,1,2點如果比較大的資料量,可能會需要多考慮一些潛在的效能問題,但一般中小電商可以不必擔心繫統方面的問題。