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 會使用一組較寬鬆的相關字詞 (比直接同義詞更廣泛) 來比對結果。詳情請參閱「處理補充結果」。
正規化文件和查詢
標準化是指在查詢之前或之後,將特定字詞或詞組標準化。為確保查詢結果更加一致,建議您在建立索引之前或期間,以及在使用者查詢後,以以下方式將文件和查詢內容正規化:
如要正規化文件,請按照下列步驟操作:
- 為存放區內文件使用的重要字詞選擇標準拼法。
- 更正來源存放區文件中的拼字,或在為內容建立索引時,使用標準拼字。
如要正規化查詢,請按照下列步驟操作:
- 在將使用者查詢傳送至 Cloud Search 之前攔截查詢。
- 重新編寫使用者查詢中的字詞,以符合索引資料來源中最常見的拼字。
- 將查詢傳送至 Cloud Search。
停用所有查詢的擴展、解讀和最佳化功能
如要針對特定查詢停用擴展、解讀和最佳化功能,請在搜尋要求中將 QueryInterpretationOptions.enableVerbatim Mode
設為 true
。