改進網站站內搜尋-百度,Google自訂搜尋和Elasticsearch自建搜尋

WordPress自帶的搜尋雖然說可以搜出一些東西出來,但是有時搜尋的結果不一定滿意,而且沒有聯詞搜尋和模糊搜索,導致有時候必須指定準確的關鍵字才能搜尋出結果來。況且Wordpress自帶的搜尋對MysqL資料庫查詢依賴大,資料庫大的話比較消耗時間。

取代Wordpress預設的搜尋也不是什麼難事,懂行的人基本上都知道site:wzfou.com xxx就可以搜尋出指定網站的站內內容,而百度、Google都推出了自訂搜索,就是把site:wzfou. com xxx直接嵌入到站內,用戶點擊搜尋後不用跳到百度Google就可以看到結果。

不過百度,Google自訂搜尋依賴搜尋引擎的索引,這對於索引少或者是新站來說,有時新的文章搜尋不出來,影響了使用者體驗。於是,Elasticsearch這種開源免費的自建搜尋引擎誕生了,這是一個分散式、可擴展、即時的搜尋與資料分析引擎,可以處理全文搜尋和結構化資料的即時統計。

用Algolia為WordPress添加即時站內搜尋功能-搜尋品質更高內容更準

WordPress自帶的「軟弱」搜尋功能一直是我比較介意的,搜尋出來的結果相關性不是很高,結果的精準度不夠,而且Wordpress自帶的搜尋不能搜尋標籤、分類以及其他版塊的內容,只能按照時間的順序來列出搜尋結果,有的時候找東西真的很麻煩。

通常為了增強Wordpress自帶的搜尋功能,我們會用到百度和谷歌的自訂搜索,之前我在百度,Google自訂搜尋和Elasticsearch自建搜尋一文有過詳細的介紹,有興趣的朋友可以閱讀一下。但是使用百度和谷歌自訂搜尋有兩個致命的問題:

一是百度站內搜尋不支援Https,雖然說網路上有不少採用nginx反代(有興趣的朋友可以看這篇:Nginx反向綁定,快取加速,自動更新快取和獲取真實IP)的方式來解決Https呼叫的問題,但是折騰過程太複雜,而且也存在圖片無法開啟和額外增加費用的問題。

第二個是Google自訂搜尋在國內無法使用,這一項基本上是「廢掉」谷歌站內搜尋了。兩個大型的搜尋引擎不能使用了,我們找到了小眾的搜尋引擎:Algolia。 Algolia由來自法國巴黎的薩科·德賽妮和朱利安·勒莫瓦納於2012年創辦,初期時的主要業務是在手機上進行離線搜尋。

訂閱@標題