全文搜尋功能的運作方式為何?

全文搜尋包含兩個主要階段:索引和搜尋,前者就像建立資料庫的地圖,而後者就是從這個地圖中擷取要求的資訊。

索引功能

在索引建立階段,系統會分析文件的文字內容,並以結構化格式儲存資料。這項程序通常包括:

  • 斷詞:將文字拆分為個別字詞或稱為「詞元」的單位,就像將句子分割成個別字詞一樣。
  • 詞幹分析:將字詞刪減至字根形式,例如將「running」減至「run」。這可確保在搜尋時,系統會將同一個字詞的變化視為單一字詞。
  • 去除停用詞:移除對搜尋沒有特別意義的常見字詞,例如「the」、「a」和「is」。這有助於縮減索引大小並提升搜尋速度。
  • 建立索引:建立資料結構,將關鍵字對應到文件中的位置。此索引可做為藍圖,方便搜尋引擎快速找到相關文件。

建立索引的程序對全文搜尋系統的效能十分重要。結構良好的索引可快速有效地擷取相關文件,即使在大型資料集內也沒問題。

搜尋中

建立索引後,搜尋階段可讓使用者提交查詢並擷取相關結果。系統會分析搜尋查詢,並使用索引找出包含相關關鍵字的文件。

執行搜尋時,系統不會只尋找完全相符的關鍵字,而是也會運用多種技巧來提高搜尋結果的關聯性。舉例來說,系統會考量文件內關鍵字的相關性,或內容與查詢的關聯性。

全文搜尋方法

搜尋全文有許多方法,有多種方法,每種方法都具有其獨特的功能,可能更適合不同的需求。常見的方法有:

基本搜尋

這種簡單的搜尋方法會比對文件中的關鍵字,不考慮順序或遠近。例如,搜尋「cat」和「dog」會傳回含有任一字詞的文件。

基本搜尋相當簡單,適合簡單的搜尋情境,通常所需的運算能力較少,但有時可能會傳回大量不相關的結果,尤其是在關鍵字很常見的情況下。

模糊搜尋

模糊搜尋是更有彈性的方法,可以輸入拼字或錯字等變化。這個模式會考量字詞相似度等因素,讓使用者能夠找出內含略微不同字詞的文件,例如「cat」和「cats」。

想想使用者在論壇中討論「programing」秘訣。當您使用標準方式搜尋「programming」時,可能會因為拼寫錯誤或錯字,而錯過論壇內容。然而,模糊搜尋會將「programing」視為近似變體,確保在搜尋結果中包含這類相關內容。

鄰近搜尋

鄰近搜尋可讓使用者指定關鍵字之間的鄰近程度。舉例來說,搜尋「cat NEAR Dog」就會傳回單字「cat」與「dog」距離很近的文件。

想像一下,您需要處理資料和內容的歷來封存檔。只要設定在全文搜尋中使用鄰近度方法,就能設定應用程式,協助研究人員更快找出有關特定關係的文件。搜尋「Abraham Lincoln /3 Mary Todd」會優先處理「Abraham Lincoln」與「Mary Todd」距離很近的文件。這樣,系統傳回的結果就更可能包含有關兩者關係的資訊,而不是顯示分別提及各項的不同文件。

如果文件與搜尋字詞之間的關係很重要,這個方法就特別實用。

展開下一步行動

運用價值 $300 美元的免費抵免額和超過 20 項一律免費的產品,開始在 Google Cloud 中建構產品與服務。