一.詞庫(kù)的基礎(chǔ)搭建
詞庫(kù)結(jié)構(gòu)主要由三部份組成,如下圖
直達(dá)詞庫(kù):用于特殊活動(dòng)/專(zhuān)題跳轉(zhuǎn)到指定頁(yè)面,例如用戶(hù)在搜索雙十一,那直接跳轉(zhuǎn)到雙十一分會(huì)場(chǎng)芹助;
聯(lián)想詞:用戶(hù)輸入關(guān)鍵詞,系統(tǒng)根據(jù)關(guān)鍵詞聯(lián)想出用戶(hù)可能需要輸入的詞匯;
分詞詞庫(kù):用于對(duì)用戶(hù)輸入的關(guān)鍵詞進(jìn)行拆分状土,再對(duì)拆分的結(jié)果進(jìn)行頁(yè)面指向
分詞詞庫(kù)一般需要建立三種機(jī)制:
1)開(kāi)源詞:這種詞可以直接在網(wǎng)上進(jìn)行搜索无蜂,然后給到技術(shù)讓他們存放;
2)自建分詞:這模塊主要給到做分詞的人進(jìn)行編輯維護(hù)蒙谓,優(yōu)化使用斥季;
3)停用詞:這模塊用于讓服務(wù)器知道,用戶(hù)輸入的哪些詞匯不用回傳給到指定頁(yè)面累驮;
二.建立緩存存儲(chǔ)機(jī)制
緩很多人會(huì)問(wèn)酣倾,為什么要有個(gè)緩存存儲(chǔ)機(jī)制,直接根據(jù)用戶(hù)搜索的關(guān)鍵詞去服務(wù)器讀取數(shù)據(jù)不就行了嗎谤专,這個(gè)理解是有誤的躁锡,如果直接去服務(wù)器查閱信息,查詢(xún)響應(yīng)速度會(huì)慢(如果sku數(shù)量有幾千萬(wàn)置侍,自己想想映之,這只是一方面),所以需要有個(gè)緩存存儲(chǔ)機(jī)制蜡坊,每天設(shè)置幾個(gè)時(shí)間段定時(shí)去服務(wù)器根據(jù)關(guān)鍵詞刷一批數(shù)據(jù)存儲(chǔ)到緩存惕医,效率會(huì)提升
三.命中邏輯
1.用戶(hù)輸入關(guān)鍵詞
2.讀取緩存
3.判斷是否聯(lián)想詞
4.是,將匹配的聯(lián)想詞在輸入框下顯示(排序和顯示數(shù)量每個(gè)人自己決定)算色,否的話不聯(lián)想
5.1選擇系統(tǒng)給到的聯(lián)想詞,1)把聯(lián)想詞已有的數(shù)據(jù)傳給用戶(hù)螟够;2)查詢(xún)直達(dá)詞庫(kù)判斷是否直達(dá)詞庫(kù)灾梦,如果是直達(dá)詞庫(kù),跳轉(zhuǎn)到直達(dá)詞庫(kù)對(duì)應(yīng)的頁(yè)面路徑妓笙,不是直達(dá)詞則進(jìn)行分詞處理:通過(guò)查閱自建詞若河,開(kāi)源詞,停用詞寞宫,分詞完成后萧福,查詢(xún)商品庫(kù),商品標(biāo)題中是否包含用戶(hù)的詞匯辈赋,如果有的話鲫忍,直接把命中商品搜索結(jié)果頁(yè)傳給前端,沒(méi)有的話則提示找不到相關(guān)商品等
5.2不選擇系統(tǒng)給到的聯(lián)想詞/不是聯(lián)想詞钥屈,查詢(xún)直達(dá)詞庫(kù)判斷是否直達(dá)詞庫(kù)悟民,如果是直達(dá)詞庫(kù),跳轉(zhuǎn)到直達(dá)詞庫(kù)對(duì)應(yīng)的頁(yè)面路徑篷就,不是直達(dá)詞則進(jìn)行分詞處理:通過(guò)查閱自建詞射亏,開(kāi)源詞,停用詞,分詞完成后智润,查詢(xún)商品庫(kù)及舍,商品標(biāo)題中是否包含用戶(hù)的詞匯,如果有的話窟绷,直接把命中商品搜索結(jié)果頁(yè)傳給前端锯玛,沒(méi)有的話則提示找不到相關(guān)商品等
四.記錄用戶(hù)搜索詞
這個(gè)機(jī)制用于擴(kuò)大詞庫(kù)數(shù)據(jù)量,同時(shí)也能知道用戶(hù)習(xí)慣輸入哪些詞匯钾麸,對(duì)于后期的分析起到一定的幫助更振,把搜索詞匯大的同步到詞庫(kù)中等