彌補預設展開、解讀和最佳化的不足

Google Cloud Search 提供幾種預設的擴充、解讀和最佳化功能,這些功能會影響搜尋結果。如果搜尋查詢顯示不預期的結果,請先參閱本指南,再與 Cloud Search 支援團隊聯絡。

預設展開式

假設使用者使用字串進行搜尋 (例如 [Joe’s PDFs]),但部分傳回結果包含醒目字詞,例如「documents」而非「PDFs」。為什麼結果中會出現醒目顯示的字詞,而這些字詞並未出現在搜尋查詢中?

根據預設,Google Cloud Search 和 Google 網頁搜尋一樣,不會只搜尋查詢中的確切字詞。相反地,Cloud Search 會擴充查詢,納入同義字和字根 (即使您未實作自己的同義字)。這項擴充功能可擷取與查詢的概念和意圖大致相符的文件。選取這組廣泛的文件後,排名演算法會確保最符合條件的文件置於結果集頂端。

當使用者搜尋「[Joe’s PDFs]」時,Cloud Search 會提供以下額外可接受的字詞:

  • 對於「[Joe’s]」這個字詞,Cloud Search 也可能會比對「joe」(字根展開) 和「joes」(根據標點符號的字同義詞)。
  • 對於 [PDF],Cloud Search 也可能會比對「文件」(同義詞擴充) 和「pdf」(字根擴充)。

根據預設,同義字不一定是雙向的。舉例來說,如果使用者搜尋「網路釣魚」一詞,Cloud Search 可能會將「phish」視為同義詞擴充字詞。不過,如果使用者搜尋「phish」這個字詞,Google 可能不會將「phishing」視為展開字詞。

分號和非分號的字詞展開

當使用者搜尋連字詞,而非其等同的非連字詞時,Cloud Search 會以不同方式處理這些查詢,例如 [walk-in closet] 和 [walk in closet]。

此外,系統會針對連字號和底線字元開頭的字詞使用不同的最佳化方式,例如 [walk-in] 和 [walk_in]。

補償預設展開

我們不會保證預設會進行任何擴充。如要確保同義詞或特定領域同義詞擴充功能的雙向性,請自行建立一組特定領域同義詞。如要進一步瞭解如何實作同義字,請參閱「定義同義字」。

預設解釋

Cloud Search 也提供自然語言解讀功能,可根據為特定資料來源上傳的結構定義,解讀查詢中使用的物件、屬性和欄位值。如要進一步瞭解這種自然語言解讀方式,請參閱「為最佳查詢解讀方式建構結構定義」。

停用自然語言解讀功能

如要停用特定查詢的自然語言解釋,請在搜尋要求中將 QueryInterpretationOptions.disableNlInterpretation 設為 true

預設最佳化

Cloud Search 也提供下列預設最佳化功能:

  • 混合拼字檢查提供的結果。舉例來說,如果查詢字串是 [corporate benefits],Cloud Search 會比對「corporate」和「corporate」的正確拼寫方式。

  • 如果查詢不會產生任何結果或只產生少數結果,Cloud Search 會在比對結果時使用較寬鬆的相關字詞組合,涵蓋比直接同義字更廣泛的字詞。詳情請參閱「處理輔助結果」。

將文件和查詢資料轉換為標準格式

標準化是指對特定字詞或詞組進行標準化,可在查詢前或查詢後執行。為確保查詢的回應更一致,請考慮以以下方式將文件 (在建立索引前或期間) 和查詢 (使用者提出查詢後) 標準化:

  • 如何正規化文件:

    1. 為存放區內文件中使用的關鍵字詞,挑選正式拼寫法。
    2. 在來源存放區文件中或建立內容索引時,修正拼字,以符合標準拼字。
  • 如要將查詢標準化:

    1. 在將使用者查詢傳送至 Cloud Search 之前攔截。
    2. 重新寫入使用者查詢中的字詞,以符合索引資料來源中最常見的拼法。
    3. 將查詢傳送至 Cloud Search。

為所有查詢停用擴充、解讀和最佳化功能

如要停用特定查詢的擴充、解釋和最佳化功能,請在搜尋要求中將 QueryInterpretationOptions.enableVerbatim Mode 設為 true