WordPress搜索功能增強的開發(fā)思路
WordPress搜索功能增強的開發(fā)思路最近開發(fā) WordPress 搜索增強功能的一個思路,主要目的就是出于網(wǎng)站搜索聚合頁面的優(yōu)化,其次當然就是提升網(wǎng)站搜索結果相關度和內容豐富程度,用 WordPress 的朋友應該都知道,WordPress 本身的搜索過于單純,精準匹配對于網(wǎng)
WordPress搜索功能增強的開發(fā)思路最近開發(fā) WordPress 搜索增強功能的一個思路,主要目的就是出于網(wǎng)站搜索聚合頁面的優(yōu)化,其次當然就是提升網(wǎng)站搜索結果相關度和內容豐富程度,用 WordPress 的朋友應該都知道,WordPress 本身的搜索過于單純,精準匹配對于網(wǎng)
最近開發(fā) WordPress 搜索增強功能的一個思路,主要目的就是出于網(wǎng)站搜索聚合頁面的優(yōu)化,其次當然就是提升網(wǎng)站搜索結果相關度和內容豐富程度,用 WordPress 的朋友應該都知道,WordPress 本身的搜索過于單純,精準匹配對于網(wǎng)站搜索來說可能幾乎搜索不到任何的內容,對于普通用戶搜索也不會用關鍵和空格分隔的方式來搜索。
WordPress搜索功能增強的開發(fā)思路
今天主要就是分享其中一個增強 WordPress 搜索功能的思路,那就是利用 WordPress 本身的 tag 標簽來作為詞庫,然后給搜索詞做分詞切割,這樣做的好處是分詞詞庫都是根據(jù)我們網(wǎng)站標簽而來,相對而言更為準確和有效,其次是網(wǎng)站本身的數(shù)據(jù)接口,開發(fā)和使用起來擁有絕對的控制權,相比使用第三方分詞接口或者分詞詞庫更好的本地化了。
第三方分詞當然還是能找到免費的分詞接口,并且還有人開發(fā)過 WordPress 搜索分詞插件,當然也還有利用開源的分詞庫來做了插件,但是看了都不是很理想,主要就是第三方接口的穩(wěn)定性和以后的發(fā)展,我可不想用著用著那天就沒法用了,我不想做這種無用功,其次就是對于付費的接口,我想我暫時肯定是接受不了的,畢竟搜索這個功能屬于長期運營,忽然間多出這么一部分支出當然是劃不來的。
那么經(jīng)過再三研究和對比考慮,最后還是選擇利用 WordPress 標簽功能作為詞庫來給 WordPress 搜索做分詞處理。稍微詳細的開發(fā)思路如下:
1、利用 get_tags 函數(shù)獲取所有函數(shù),因為是分詞所以可以設置 hide_empty 為 false,就算是空標簽也可以用來做分詞;
2、然后使用 wp_list_pluck 來提取標簽數(shù)組中所有標簽 name 名稱,這樣標簽詞庫就是一個完整的數(shù)組了;
3、為了后續(xù)的開發(fā)和使用效率,我用 wp_cache_set 做了緩存設置,有效期設置的一天時間,當然還可以利用其它方式做緩存等等,反正就是避免每次分詞都要獲取一次全部的標簽,造成服務器壓力和延遲;
4、最后 foreach 循環(huán)加上 strpos 開始拆分搜索詞,并且記錄好分詞和標簽關鍵詞,根據(jù)自己實際的開發(fā)需求做后續(xù)開發(fā)即可。
版權所有:深圳市網(wǎng)商在線科技有限公司