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

Google Cloud Search 有數種會影響搜尋結果的預設擴充、解釋和最佳化功能。如果發現搜尋查詢傳回非預期的結果,請在聯絡 Cloud Search 支援團隊之前參閱本指南。

預設展開

假設使用者用字串 (例如 [Joe 的 PDF]) 進行搜尋,但有些傳回的搜尋結果包含「文件」這類醒目顯示字詞,而非「PDF」。為什麼結果會包含不在搜尋查詢中的醒目顯示字詞?

根據預設,Google Cloud Search 和 Google 網頁搜尋一樣,不會只搜尋查詢中的確切字詞。因此,Cloud Search 會將查詢擴充為包含同義詞和詞幹 (即使您未自行實作同義詞)。此擴充是針對與查詢概念和意圖相符的文件擷取。選取這組文件後,排名演算法會嘗試確保將最相符的結果置於結果集的頂端。

當使用者搜尋 [Joe 的 PDF] 時,Cloud Search 會提供以下項目做為其他可接受的字詞:

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

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

連字號和非連字號的擴充字詞

如果使用者搜尋連字號字詞與非連字號的等式 (例如 [Walk-in Closet] 和 [walk in Closet]),但 Cloud Search 處理這些查詢時,Cloud Search 就會以不同的方式處理這些查詢。

此外,連字號和底線字詞也各有不同的最佳化設定,例如 [walk-in] 和 [walk_in] 不同。

補償預設展開次數

但預設不保證可展開。如要確保同義詞或網域特定同義詞擴展的雙向性,請建立一組網域專屬同義詞組合。如要進一步瞭解如何實作同義詞,請參閱定義同義詞

預設解讀

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

停用自然語言解讀功能

如要針對特定查詢停用自然語言解譯功能,請在搜尋要求中將 QueryInterpretationOptions.disableNlInterpretation 設為 true

預設最佳化功能

Cloud Search 還提供下列預設的最佳化設定:

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

  • 如果查詢產生的結果為零或較少,Cloud Search 會在比對結果時,使用比直接同義詞更寬鬆的相關字詞集。詳情請參閱「處理補充結果」一文。

將文件與查詢正規化

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

  • 如何將文件正規化:

    1. 針對存放區內文件使用的重要字詞選擇標準拼字。
    2. 修正來源存放區文件或建立索引內容時的拼字錯誤,使其符合標準拼字。
  • 如何正規化查詢:

    1. 先攔截使用者查詢,再將查詢傳送至 Cloud Search。
    2. 改寫使用者查詢中的字詞,比對已建立索引資料來源中最常見的拼字。
    3. 將查詢傳送至 Cloud Search。

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

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