?

大型網站之搜索系統

2016-11-18 16:22穆海明齊斌劉盼
藝術科技 2016年9期
關鍵詞:組群字符串搜索引擎

穆海明 齊斌 劉盼

摘 要:平時經常上網查閱資料的我們,對搜索一詞一定會有非常深刻的印象,本篇文章主要說明尋找信息的一種形式:搜索。搜索是相當廣闊、挑戰性十足,而且眾所周知的領域,本文將會淺談搜索系統。主要把討論內容限制在搜索系統的組成、何時該執行搜索系統,以及某些設計搜索界面和顯示搜索結果的實施建議。雖然對于小型網站的搜索功能,涉及不到這樣深遠的一個話題,但通過這樣的一個探討,有利于對大型網站的設計和搜索系統的全面了解。

關鍵詞:搜索系統;網站設計

1 選擇要搜索什么

假設我們已經選擇了一種搜索引擎。哪些內容應該做索引以供搜索?顯然,把搜索引擎指向網站,告訴搜索引擎把它找到的每一份文件的全部文字都索引起來,這是搜索系統最大的價值:可以無所不包,有能力很快就包含很多的內容。但是,把每樣東西都做索引,不見得能滿足用戶。在龐大而復雜的網站環境中,會含有異質的子網站和數據庫,建立搜索區域可以減少這些風馬牛不相及的效果,讓用戶能夠集中他們的搜索;搜索區域中應包含較具有同質性的內容。選擇要讓什么可以搜索,是不應該受限于只選擇正確的搜索區域的。對一群文件或記錄而言,每一文件和記錄都有某種結構,無論是以HTML、XML或數據庫字段表示。這些結構會儲存內容組件:就是內容的元素,通常比文件小。結構中某些東西可以被搜索引擎使用,如作者姓名;而某些可以被忽略掉,如每底端的法律聲明。最后我們需要對什么內容是“好的”有感覺,可能會以手動或其他機制為有價值的內容貼上標簽。當用于搜索時,應該先把“好”的東西展現出來,例如,電子商務網站上大部分的用戶都在搜索的產品,這些產品就能視為默認的搜索對象,然后此搜索可以再擴展到全站,作為一個修訂過的搜索選項。

2 搜索算法

2.1 模式匹配算法

大部分搜索算法采用匹配的方法,也就是說,它們會比對用戶的查詢字符串與網站文件全文的索引,以尋找符合的文本字符串。找到吻合字符串時,來源文件就加進搜索集合中。所以,如果用戶輸入查詢字符串“electric guitar”時,任何文件只要含有“electric guitar”,就會被檢索出來。聽起來相當簡單,但是這個比對過程可以用很多不同方式運作,以產生不同的結果。有些算法傳回很多的結果,而這些結果各有不同的相關性,有些算法只傳回高質量的結果。變動范圍的兩個極端術語就是查全率和查準率。甚至還有公式可以計算他們:查全率=#檢索出來的相關文件/#集合中的所有文件,查準率=#檢索出來的相關文件/#集合中的相關文件。那么是否可以兼顧兩者呢,可惜,魚與熊掌不可兼得,考慮大到用戶的利益,我們需要在兩者間取得平衡,然后,根據選擇一種搜索引擎,其算法是偏向查全率或者查準率視情況而定。

2.2 其他做法

當你有“好”文件在手上時,有些算法會把該文件轉換得相當于一個查詢(這種做法通常稱為文件相似度)。例如“the”“is”“he”這些停用詞會從好文件中抽掉,留下一組語義豐富的術語,足以代表文件即可。然后,這些術語會轉換成一種查詢字符串,而這種查詢字符串可以讓你檢索出類似的結果。另一種做法展示那些已經使用相類似的元數據做過索引的結果。當然,一定還有其他的搜索算法,但重點是這些算法的主要目的是找出最好的文件集合作為搜索結果。但是,“最好”是相當主觀的,而且必須了解什么人想在你的網站上找到什么。

3 分組結果

盡管我們可以用各種方式列出結果,卻沒有一種是完美的。像Google的混合式做法就很有希望,但是,通常必須介入搜索的設計工作,才可能擁有這樣的工具。無論是哪種情況,我們的網站通常是越來越大,因此,搜索結果也會變大。同時,當用戶放棄再看時,那些就只是理想中的。然而另一種替代排序和排名的做法看來是有希望的:依照某個共同的方面把結果聚集起來。當結果按類別和等級分組時,可以改善效果。我們怎么分組結果?可惜,明顯的方式都沒什么用:我們可以使用現有的元數據,諸如文件類型以及文件建立/修改日期,讓我們把搜索結果分成幾個組群。比較游泳的是從手工添加的元數據衍生出來的組群,諸如主題、用戶、語言,以及產品家族??上?,根據手工添加的做法會貴到嚇人。有些自動化工具可以得到比較有用的主題類型組群,通??梢詽M足用戶所需。這些組群為結果提供了情境,你可以選擇你最感興趣的目錄,就能夠瀏覽相當小的一群搜索集合,以及一群相同主題領域的文件(理想上)。這種做法很類似動態產生的搜索區域。

4 設計搜索界面

用戶差異性大,搜索技術也花招百出,所以實在沒有什么單一化的理想搜索界面。在web早起,很多搜索引擎都是在模仿在線圖書館目錄和以CD-ROM為主的數據庫中所采用的“傳統”搜索引擎功能,這些傳統系統多半提供給研究者、圖書館員及專業人士,而用戶通常要懂得復雜語言才能使它們。在web的用戶爆炸增長之后,全方位的搜索經驗和專長下降到最低點,新生代的用戶沒那么多耐性。用戶通常只會輸入一兩個術語,不會包含任何運算符,然后就按下“搜索”鈕,并希望能得到最佳的結果。搜索引擎開發人員的做法是,把老式的花俏找事隱藏在“高級搜索”界面之中。由于以上理由,最終又會晃回老路,支持受到挫折的用戶可以用更多的搜索語言,而且他們也愿意花時間學習復雜的搜索界面,并構造出查詢字符串。但是就目前而言,假設最好的做法是讓搜索界面盡可能簡單,而這也是相當合理的。

參考文獻:

[1] Peter Morville,Louis Rosenfeld(美).Web信息架構[M].陳建勛,譯.電子工業出版社,2013.

[2] Thomas H,Cormen Charles E,Leiserson Ronald L,Rivest Clifford Stein(美).算法導論[M].殷建平,徐云,王剛,劉曉光,蘇明,鄒恒明,王宏志,譯.機械工業出版社,2013.

作者簡介:穆海明(1994—),男,天津人,沈陽理工大學學生。

齊斌(1994—),男,遼寧盤錦人,沈陽理工大學學生。

劉盼(1994—),男,山西運城人,沈陽理工大學學生。

猜你喜歡
組群字符串搜索引擎
73個傳統建筑組群組團出道!帶你活進從前的慢時光
“組群”“妙比”“知人”:小學語文古詩群文閱讀的三個途徑
QC新七大工具之五:矩陣圖法
磁盤組群組及iSCSI Target設置
網絡搜索引擎亟待規范
Nutch搜索引擎在網絡輿情管控中的應用
基于Nutch的醫療搜索引擎的研究與開發
廣告主與搜索引擎的雙向博弈分析
一種新的基于對稱性的字符串相似性處理算法
依據字符串匹配的中文分詞模型研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合