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