solr在電商平台中的使用示例簡析

2021-09-01 22:28:20 字數 1762 閱讀 1456

在電商平台中搜尋是非常重要的功能,主要包括有搜尋詞類目導航、自動提示和搜尋排序功能

自動提示如下圖顯示的,可以根據搜尋詞自動進行提示,並在列表中顯示推薦的搜尋詞的document數量

類目導航如下圖所示,比如在搜尋框中搜尋「牛奶」,則把相關的類目和當前類目對應的屬性顯示出來

下面就以上幾種功能做示例講解。

1、搜尋排序

搜尋功能中比較複雜的是文件的打分排序,solr中的打分規則繼承了lucene中的相關的打分規則,這裡通過solr的dismax查詢解析器來支援複雜的打分

在打分的時候,會考慮以下因素,

搜尋關鍵字匹配某些欄位的打分比其他的字段要高(qf^)

對於某些字段,搜尋字串的密集度(phrase)的打分中佔的比重(pf^)

其他複雜規則計算,比如銷售量、**、賣家等級等等都可以作為考慮的因素,影響打分(bf)

subject ^1 &q=sony ***&pf=name^100  subject ^1&q.op=or&bf=sum(recip(ms(now,last_modified),3.16e-11,1,1),div(1000,price))^100

這個查詢的含義是,在name和subject中搜尋關鍵字sony ***,name和subject在字段查詢中的比重分別為100、1(qf=name^100subject ^1);並且這兩個欄位phrase的打分為

pf=name^100 subject ^1,也就是name佔的比重大一些;其他還參考產品的**和商品更新時間(bf=sum(recip(ms(now,last_modified),3.16e-11,1,1),div(1000,price))^100)

2、自動提示facet

電視根據電視的分詞用facet進行自動的提示,提示的是分詞

3、facet分類導航

使用者在搜尋框中進行搜尋,下方會有分類導航,分類導航是乙個樹型的結構,比如

所有分奶粉/輔食/營養奶牛奶粉

類別可以由屬性,比如,牛奶粉的屬性有『品牌』、『適用階段』、『適用年齡』、『包裝方式』、『源產地』等

使用者在搜尋框中輸入『牛奶』,搜尋引擎導航到'牛奶粉'這個類別下,並自動顯示牛奶粉相關的屬性,相關實現和演算法有很多,下面的方法可以達到這個效果

分類導航可以參考搜尋結果的頭一條進行,比如得分最高的第乙個document屬於』牛奶粉『這個類別,那麼導航顯示自然就導航到這個類別上;並且相關的屬性就採用牛奶粉這個類別的屬性,比如『品牌』、『適用階段』、『適用年齡』、『包裝方式』、『源產地』,類別和屬性的對應關係可以儲存到其他地方。

分類導航的樹形結構可以採用facet.pivot來實現

類別屬性的對應的值,採用基本的facet來實現

牛奶&fq=category1:奶粉

&fq=category2:牛奶粉&rows=0&facet=true&facet.field=logo&facet.field=

property1&facet.field=property2&facet.field=property3

&facet.mincount=1

SOLR在電商中的基本應用

略。欄位僅新增搜尋相關的字段,比如商品id 標題 品牌名稱 分類名稱,商品 上架時間,是否有貨等,注意,這裡存的字段主要是為了搜尋出商品id,在展示時建義通過搜尋到的商品id去資料庫查詢,因為有可能資料已經變更了,而solr還沒更新,比如像 是否有貨這種必須要時實查。新增好中文分詞包,並配置在需要中...

UWP 在UWP平台中使用Lottie動畫

是的,你沒看錯,qq影音主介面上這個動畫效果是使用lottie動畫實現的!那就趁這個機會,來分享點關於lottie動畫的東西吧!lottie是airbnb開源的乙個面向ios android react native的動畫庫,它可以解析儲存為json格式的由bodymovin匯出的使用ae製作的動畫...

電商平台的系統組織架構

參與電商系統開發已有兩年,我一直負責的工作就是跟電商平台對接,起初對接的平台只有 天貓 京東這幾個主流大平台,後來隨著各品牌的業務拓展,後續逐漸對接其他比較有規格的電商平台 目前已對接 唯品會,蘇寧易購,小紅書,寺庫,網易考拉,噹噹,後續還會繼續對接其他渠道 一開始我對於對接這麼多平台並不是很理解,...