無論是展示型企業(yè)網站,還是支持在線支付的商城網站,是否有站內搜索功能將會影響到網站的用戶體驗,只有站內搜索功能的支撐,才有可能讓網站訪問者迅速找到適合自己的產品或者服務。然而常規(guī)企業(yè)網站由于成本限制,只會實現(xiàn)一個欄目的搜索功能,但有的企業(yè)網站卻要全站搜索,而本文將為您簡述全站搜索實現(xiàn)原理。
網站單個欄目的搜索實現(xiàn)原理
單個欄目的數(shù)據(jù),在技術層面上,會把數(shù)據(jù)保存在同一張數(shù)據(jù)表中,就好像我們將所有的員工考勤記錄保存在Excel的一張工作表中的記錄是一樣的。當我們需要查找符合一定條件的記錄時,只需要進行簡單的搜索即可。這個搜索動作對應到網站數(shù)據(jù)庫的話,也就是一組SQL查詢語句,我們技術同事會將查詢出來的結果放到數(shù)組變量中,最后通過循環(huán)的方式展現(xiàn)在網頁中。整體而言,這種單個欄目的搜索相對來說比較容易實現(xiàn)。
全站搜索實現(xiàn)原理一
在我們理解了單個欄目的搜索實現(xiàn)原理之后,就可以很容易的理解全站搜索的實現(xiàn)原理 了。其實全站搜索就是相當于把單個欄目搜索操作對每一張需要被搜索的數(shù)據(jù)表都執(zhí)行一次,每一張數(shù)據(jù)表理論上是對應一個數(shù)據(jù)表的。因此,需要搜索多少個表,就需要些多少組SQL查詢語句,然后將查詢出來的若干個結果分別保存到不同的數(shù)組變量中,再通過循環(huán)的方式展現(xiàn)在網頁中。由于搜索結果實際上是分組的,因此,我們可以非常靈活多變的為搜索結果頁設計不同的布局和展示方式。具體可以參考玉律網站建設公司創(chuàng)絡官網的搜索結果展示方式,如下圖所示:
全站搜索實現(xiàn)原理二
除了上面的這種全站搜索方式,我們還可以用其他方式來實現(xiàn),例如:單獨創(chuàng)建一張索引表,用來存放對應的標題、內容(內容太多可能會影響效率或需要高性能服務器支持)和對應的鏈接地址。當網站管理員在網站后臺進行添加、刪除數(shù)據(jù)時,如果會影響到URL的形成,那么就需要同時更新這一張數(shù)據(jù)表的內容。不過我們并不是特別推薦這種方式,原理一的實現(xiàn)相對更加簡單和高效,大家可以多多嘗試,找到適合自己網站的全站搜索方式。當然了,無論是哪種方式,當出現(xiàn)沒有搜索結果的時候,我們都應該展示推薦內容給用戶或操作指引。
全站搜索雖然會極大的提高網站用戶體驗,但是如果處理不當,會消耗過多的服務器資源,造成網站訪問緩慢或者超時,或者對服務器性能要求比較高一些。對于這一點,就需要技術同事進行相應的代碼優(yōu)化或者提高服務器性能,以平衡網站整體搜索效果。