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

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」,Google 可能不會將「phishing」視為擴展字詞。

含連字號和不含連字號的字詞擴展

使用者搜尋連字號字詞與非連字號字詞時 (例如 [walk-in closet] 和 [walk in closet]),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