電商檢索系統(tǒng)總結(jié)——功能篇

自己作為后端研發(fā)工程師突勇,一直在公司電商項目中參與和檢索相關(guān)的工作。工作的時間也不短了坷虑,一直希望能寫一些文章來總結(jié)甲馋、整理下自己接觸到的知識點,一方面是為了梳理自己的思路迄损,另一方面也作為一種分享和交流定躏。

本文簡單總結(jié)一下,電商檢索系統(tǒng)需要向用戶提供哪些功能芹敌。

搜索頁面結(jié)構(gòu)

下圖是一個電商搜索結(jié)果頁的基本結(jié)構(gòu):

搜索頁結(jié)構(gòu)
搜索頁結(jié)構(gòu)

大家可以看到痊远,頁面基本上有以下幾種元素構(gòu)成:

  • 搜索欄
  • 商品列表
  • 面包屑
  • 分類樹
  • 篩選項
  • 商品推薦

每一種元素,都為用戶展現(xiàn)了不同緯度的檢索結(jié)果氏捞;同時碧聪,部分元素也為用戶提供了進一步的檢索、過濾功能液茎。

搜索欄逞姿,提供了query檢索的功能,用戶最常用的尋找商品的方式捆等;

分類樹和面包屑滞造,一方面從分類緯度展示了搜索結(jié)果,同時用戶也可以對于上面的結(jié)果進行分類檢索栋烤;

篩選項谒养,提供了對于檢索出的商品屬性的聚合,同時用戶又可以對于自己感興趣的屬性進行單獨篩選班缎;

商品列表蝴光,是呈現(xiàn)給用戶的最終結(jié)果;

商品推薦达址,除了自然的檢索結(jié)果蔑祟,還會根據(jù)用戶當(dāng)前的檢索行為以及歷史行為,進行商品推薦沉唠。

功能

上面提到的元素疆虚,都是為了讓用戶使用電商檢索系統(tǒng)的某些功能,或者向用戶展現(xiàn)某些功能的最終結(jié)果。下面就具體講一下電商檢索系統(tǒng)需要具備的基本功能:

Query檢索

即關(guān)鍵詞檢索径簿,用戶通過輸入一個檢索詞來描述自己的需求罢屈,比如“iphone5s”、“三星Galaxy”篇亭、“Nike運動鞋”等等缠捌。關(guān)鍵詞檢索,涉及到建立一個檢索系統(tǒng)的一些基本步驟:

  • 切詞(將一段文本轉(zhuǎn)化為一個一個單元译蒂,即term)
  • 建立倒排索引(Inverted Index)
  • 索引歸并
  • 排序

切詞之前曼月,首先需要確定的是:商品的哪些字段需要被切詞并且建入索引。商品的標題是需要建索引的柔昼,另外哑芹,一般來說,商品的品牌名稱捕透、商家名稱聪姿、分類名也是需要建索引。選擇建索引字段的范圍乙嘀,其實是需要一些權(quán)衡的末购,范圍選得過大,當(dāng)然可以提高召回率乒躺,但這樣也會出現(xiàn)一些bad case(比如將商品描述中一些不相關(guān)的term建進了索引)招盲,同時倒排拉鏈過長也會影響性能。

分類檢索

一般來說嘉冒,綜合型電商網(wǎng)站的首頁曹货,都會有一個分類樹全集,供用戶直接點擊查詢讳推。例如下圖:

除了Query檢索顶籽,用戶按照商品的分類進行檢索的比例也會較大。分類檢索和Query檢索相比银觅,不同點只是少了切詞步驟礼饱,另外將term改為商品的分類ID。

說到分類究驴,就要涉及到分類體系镊绪。一般來說,有兩種分類體系:后端分類體系洒忧,和前端分類體系蝴韭。后端分類體系相對穩(wěn)定,幾乎不變熙侍,用戶感知不到后端分類榄鉴;前端分類體系結(jié)構(gòu)可以很靈活履磨,隨意變化,一般由運營同學(xué)來維護庆尘。前剃诅、后端分類體系都是樹狀的結(jié)構(gòu),而后端分類樹的任意節(jié)點可以“掛載”至一個或者多個前端分類樹的葉子節(jié)點上面驶忌,這樣兩套分類體系之間就產(chǎn)生了關(guān)聯(lián)矛辕。

這兩個分類體系可以類比為超市的貨物分類(嚴格來說應(yīng)該是電商參考了零售行業(yè)的分類方式),一開始貨物都是放在后臺的庫房里面的位岔,它們按照一種分類體系(后端分類系統(tǒng))來存放如筛,非工作人員是看不到的;而等到貨物需要從庫房擺放到貨架時抒抬,超市工作人員可以以時令、促銷活動等為依據(jù)晤柄,讓貨架上的商品按照另一種體系(前端分類體系)進行組織擦剑,顧客只能看到這種組織形式。

排序

用戶通過query或者分類檢索出的商品結(jié)果芥颈,默認都是按照相關(guān)性排序的惠勒。(關(guān)于相關(guān)性排序,內(nèi)容還是比較復(fù)雜的爬坑,另外自己也不是專門做這一塊的纠屋,這里就不展開講了)除了按照相關(guān)性進行排序,用戶還可以按照其它條件進行排序盾计,例如:

  • 價格
  • 折扣
  • 評論數(shù)
  • 好評度
  • 上架時間
  • 是否正在促銷
  • ……

上面都是用戶可以看得到售担、自己可以選擇的排序方式。除了這些署辉,還會有一些其它因素影響商品結(jié)果的排序族铆。

首先是一些基本的業(yè)務(wù)邏輯,比如在自然排序下哭尝,有庫存的商品排在前面哥攘,無庫存的排在后面;SPU商品排在前面材鹦,SKU商品排在后面逝淹。(SKU、SPU的概念后面會講到)

另外還有一些運營方面的考慮桶唐。比如栅葡,發(fā)現(xiàn)搜索結(jié)果中有一個很不相關(guān)的商品出現(xiàn),這時就急需在query粒度上對這個商品進行打壓莽红、甚至是不允許展現(xiàn)妥畏“畎睿或者,由于某種合作關(guān)系醉蚁,在某些query或者分類下燃辖,必須將某個商家的商品排在前面。因此网棍,檢索系統(tǒng)后臺就需要維護這么一份各個維度的商品“黑白名單”黔龟。

標簽聚合

所謂標簽,就是用一些“鍵-值”的概念來描述一個商品的特點氏身。比如說MacBookPro,可以有如下標簽:

  • 品牌:Apple
  • 尺寸:13寸
  • 處理器:Intel i7
  • 價格:9288 RMB
  • ……

當(dāng)用戶檢索商品時惑畴,檢索系統(tǒng)除了直接展示商品以外蛋欣,還會將商品上面的標簽進行聚合楣富,一般都是通過“標簽名 + 標簽值的列表”的形式展現(xiàn)給用戶(如下圖)庄萎,方便用戶通過標簽進行進一步的篩選脱羡。

分類樹

當(dāng)用戶進行query檢索時绕娘,檢索系統(tǒng)會進行query分析,將這個query可能對應(yīng)的分類叙淌,通過分類樹的形式展現(xiàn)給用戶。比如用戶搜索“小米”堵未,query分析出的分類既有“手機通訊”,又有“糧油米面”谷朝。

一般來說,檢索系統(tǒng)為了保證query的準確率跃须,會在檢索條件中添加query的預(yù)測分類站叼,使得檢索結(jié)果不至于各種分類的商品混雜在一起,影響用戶體驗回怜。所以當(dāng)用戶搜索“小米”時大年,檢索結(jié)果會限定在“手機通訊”這個分類下,但是如果用戶真的是想搜索“糧油米面”下的小米玉雾,也沒關(guān)系翔试,只需在點擊分類樹中相應(yīng)分類進行限定即可。

面包屑

面包屑复旬,原來是用于在網(wǎng)站上面顯示當(dāng)前頁面在整個sitemap中的位置垦缅,方便用戶跳轉(zhuǎn)至網(wǎng)站其它地方。在電商網(wǎng)站中驹碍,就變成了展現(xiàn)網(wǎng)站所在的分類路徑( + 品牌名稱 + query)壁涎,例如

電腦、辦公 > 電腦整機 > 筆記本 > 清華同方(THTF) > 清華同方鋒銳T200

點擊面包屑上面的每一級分類志秃,就可以在某個分類下進行商品檢索怔球,方便用戶擴大或者縮小檢索范圍。

過濾

除了進行各種觸發(fā)(query檢索浮还、分類檢索等)竟坛,還需要在觸發(fā)結(jié)果的基礎(chǔ)上面,再進行過濾钧舌。上面說到的標簽過濾担汤、分類樹限定,都屬于過濾洼冻≌钙纾總結(jié)下來,會有這么幾種過濾方式:

  • 分類過濾
  • 標簽過濾
  • 價格區(qū)間過濾
  • 地域過濾
  • 庫存過濾
  • 是否自營
  • 商家過濾(針對于微購這樣的電商平臺)

Query提示

所謂query提示撞牢,就是當(dāng)用戶在搜索框中建入query時率碾,系統(tǒng)能提供給用戶一個query list,或者一些分類建議普泡,方便用戶向檢索系統(tǒng)提供給準確的query以及分類范圍播掷,減少用戶進行重復(fù)搜索的次數(shù)。

以下是京東的query提示截屏撼班,有拼音翻譯為query歧匈、有分類預(yù)測、有每個query對應(yīng)的檢索商品數(shù)砰嘁,做的比較完善件炉。

相對而言勘究,微購做的query提示就原始許多,輸入“shouji”斟冕,居然連本身的“手機”都沒有口糕,囧……

Query改寫

Query分析中的一項功能就是做“query correction”,通過算法或者人工標注的形式磕蛇,判斷出用戶真正需要搜索的query是什么景描。比如用戶輸入了“按著手機”,檢索系統(tǒng)需要能判斷出用戶搜索的真正query可能是“安卓手機”秀撇,當(dāng)然超棺,好的產(chǎn)品肯定能讓用戶自行選擇,而不是強奸用戶呵燕,就像上面提到的用戶可以選擇分類樹上的分類棠绘,用以明確告知系統(tǒng)自己所需要查找的分類范圍。

以下是在京東搜索“按著手機”的截圖:

SPU聚合

首先需要提供兩個概念:SKU再扭,以及SPU氧苍。

根據(jù)我在網(wǎng)上查找到的資料,SKU是Stock Keeping Unit泛范,指的是庫存的最小單位让虐;而SPU是Standard Product Unit,是指商品信息聚合的最小單位罢荡,是一組可復(fù)用澄干、易檢索的標準化信息的集合,該集合描述了一個產(chǎn)品的特性柠傍。

簡單的理解就是,“iPhone4S”是一個SPU辩稽,“iPhone4S 白色 16G 電信版”就是一個SKU惧笛;“MacBookPro”是一個SPU,“MacBookPro 13寸 8G內(nèi)存 128G硬盤”就是一個SKU逞泄。

因此患整,當(dāng)用戶進行商品檢索時,需要將SKU粒度的商品聚合成SPU粒度喷众,使得檢索結(jié)果比較多樣各谚,從而不至于滿屏都是各種顏色、型號的同一款商品到千。等到用戶進行商品詳情頁之后昌渤,再來選擇具體的型號。

下圖是微購檢索結(jié)果頁SPU憔四、SKU排列結(jié)果:

以下是京東商品詳情頁的截屏膀息,紅框中的選項的每一種組合般眉,都代表著不同的SKU。

推薦

推薦系統(tǒng)潜支,是和檢索系統(tǒng)同樣負責(zé)的系統(tǒng)甸赃,另外我也并不熟悉相關(guān)的知識,所以這里只是根據(jù)自己的理解冗酿,簡單的說一下埠对。

從頁面角度來說,幾乎所有頁面上面都可以進行商品推薦:首頁裁替、搜索結(jié)果頁项玛、詳情頁、購物車頁面胯究、下單成功頁稍计、錯誤頁,等等裕循。而不同的頁面臣嚣,推薦的側(cè)重點也會不盡相同。

比如首頁推薦剥哑,用戶這次購物流程還沒有任何行為硅则,所以一般都是通過該用戶的歷史行為向用戶進行推薦。

在詳情頁株婴,用戶則已經(jīng)表現(xiàn)出對于這個商品的較強的需求怎虫,一般會有兩種類型的推薦:

  • 推薦和該商品類似的商品
  • 推薦可以和該商品進行組合的商品

第一種推薦,在各分類商品中出現(xiàn)的都比較多困介,一般的推薦理由是“看(購買)過該商品的用戶也看(購買)了”大审;

第二種推薦,一般出現(xiàn)在數(shù)碼產(chǎn)品中座哩。比如用戶在看一款手機時徒扶,向用戶推薦手機套、手機耳機根穷、SD卡姜骡,讓用戶可以“一頁式”完成許多商品的購買,減少用戶決策的過程屿良,激發(fā)用戶的購物欲望(原來根本沒想到手機套這回事圈澈,既然你推薦了,又不貴尘惧,就買一個唄)康栈。

到了購物車頁面,用戶的購物流程即將結(jié)束,能讓用戶在這個階段再購買的一個主要動力是:湊單谅将,這樣可以節(jié)省運費或者參加活動漾狼。所以在這個階段推薦的商品一般是:同店鋪的相似商品,以及一些單價較低的饥臂、日常消費的商品胰锌。

總結(jié)

本文并沒有講解與電商檢索相關(guān)的技術(shù)細節(jié)魂莫,只是單獨從產(chǎn)品的角度走趋,羅列了一下一個電商檢索系統(tǒng)需要具備的功能蘸鲸,只能算是自己粗淺的整理和歸納,肯定有許多遺漏或者錯誤之處囚戚。有問題的話酵熙,歡迎大家反饋,我也會及時進行更正驰坊。以后有機會的話匾二,還會對電商檢索系統(tǒng)中的技術(shù)細節(jié)進行一些歸納和整理。

-- EOF --

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拳芙,一起剝皮案震驚了整個濱河市察藐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舟扎,老刑警劉巖分飞,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異睹限,居然都是意外死亡譬猫,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門羡疗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來染服,“玉大人,你說我怎么就攤上這事叨恨〖∷鳎” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵特碳,是天一觀的道長。 經(jīng)常有香客問我晕换,道長午乓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任闸准,我火速辦了婚禮益愈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己蒸其,他們只是感情好敏释,可當(dāng)我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著摸袁,像睡著了一般钥顽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上靠汁,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天蜂大,我揣著相機與錄音,去河邊找鬼蝶怔。 笑死奶浦,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的踢星。 我是一名探鬼主播澳叉,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼沐悦!你這毒婦竟也來了成洗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤所踊,失蹤者是張志新(化名)和其女友劉穎泌枪,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秕岛,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡碌燕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了继薛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片修壕。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖遏考,靈堂內(nèi)的尸體忽然破棺而出慈鸠,到底是詐尸還是另有隱情,我是刑警寧澤灌具,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布青团,位于F島的核電站,受9級特大地震影響咖楣,放射性物質(zhì)發(fā)生泄漏督笆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一诱贿、第九天 我趴在偏房一處隱蔽的房頂上張望娃肿。 院中可真熱鬧咕缎,春花似錦、人聲如沸料扰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晒杈。三九已至嫂伞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桐智,已是汗流浹背末早。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留说庭,地道東北人然磷。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像刊驴,于是被迫代替她去往敵國和親姿搜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容

  • -- 原創(chuàng)捆憎,未經(jīng)授權(quán)舅柜,禁止轉(zhuǎn)載 2017.11.15 -- 對于推薦系統(tǒng),本文總結(jié)內(nèi)容躲惰,如下圖所示: 文章很長致份,你...
    rui_liu閱讀 42,929評論 14 256
  • 摘要: 搜索是一種非常普遍而通用的服務(wù)。不同的搜索服務(wù)有著共同基礎(chǔ)技術(shù)(倒排索引础拨,文本相關(guān)性等)氮块,但對于特定領(lǐng)域也...
    killin閱讀 8,921評論 0 35
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,770評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)诡宗,斷路器滔蝉,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • 每天逛淘寶和京東的時候,映入眼簾的都是品類繁多的商品塔沃,但是當(dāng)我們選擇分類或者直接搜索的時候蝠引,按條件篩選時,系統(tǒng)卻往...
    自媒體_鄭在別處閱讀 16,684評論 2 77