使用者輸入搜尋查詢時,Cloud Search 的自動完成功能會建議字詞,例如,建議可能包括文件標題中的字詞、搜尋運算子、搜尋運算子值,或是 Google Workspace 機構中的名稱和電子郵件地址。
自動完成功能會從已建立索引的文件標題中擷取片語,並使用 n-gram 模型,判斷要透過 Suggest API 提供的建議。根據預設,自動完成功能會顯示文件標題中的片語。您也可以將文字和列舉架構屬性標示為 is_suggestable,自動完成對應的屬性名稱和值。
Suggest API 會檢查搜尋查詢,找出查詢語言的提示 (例如英文或西班牙文),並據此優先顯示結果。要求中的 languageCode 欄位也會用於改善特定語言的建議。
範例情境
舉例來說,假設您有下列資料來源,其中包含電影相關資料:
- 資料來源包含 2 份文件。
 - 每份文件都有標題 (
ItemMetadata.title) 和兩項屬性:genre和characters。 - 第一份文件標題為「復仇者聯盟:無限之戰」,並包含 
genre=science fiction和characters=Iron Man, Hulk - 第二份文件名為「Harry Potter」,且 
genre=Adventure, Fantasy andcharacters=Hermione, Harry Potter` 
圖 1 說明如何從文件標題、屬性和屬性值擷取自動完成建議。

從文件 1 中,我們擷取 n 元語法 (最多三元語法)「復仇者聯盟」、「無限」、「之戰」、「復仇者聯盟無限」、「無限之戰」、「復仇者聯盟無限之戰」。同樣地,從文件 2 中,我們產生「哈利」、「波特」、「哈利波特」。
查詢這個資料來源時,假設使用者先輸入「h」,使用者會看到下列建議:
- 哈利
 - Hermione
 - 浩克
 - 哈利波特
 
假設使用者選取自動完成建議「Hermione」,且使用者下一個按鍵輸入的字元是「a」。系統會向使用者顯示下列自動完成建議:
- Hermione Adventure
 - Hermione Action
 - Hermione Avengers
 
自動完成功能會嘗試完成您輸入的最後一個字詞 (或 n 元語法)。在先前的範例中,由於沒有以「hermione a」開頭的文字,因此系統只會將「a」擴展為「adventure」、「action」和「avengers」。這項建議稱為尾部建議,只會自動完成輸入的最後一個字詞/n 元語法。
Cloud Search 的自動完成功能最多會根據文件內容提供 5 項建議,以及 2 項人員建議。
根據預設,自動完成功能會顯示文件標題中的片語。您必須明確將結構化資料屬性標示為 is_suggestable,建議 API 才能自動完成對應的屬性名稱和值。
整合 Autocomplete API
如果您使用預設搜尋應用程式或可嵌入的搜尋小工具,Cloud Search 原生支援自動完成功能,不需額外設定。請注意,系統預設會在自動完成功能中顯示文件標題中的詞組。必須明確將結構化資料屬性標示為 is_suggestable,建議 API 才能自動完成對應的屬性名稱和值。
如果您要建構自訂搜尋應用程式,可以查詢 /query/suggest API 端點,取得自動完成功能。
限制
自動完成功能有下列限制:
系統不支援使用結構定義中定義的
FilterOptions限制 Cloud Search 的自動完成片語,但下列內建篩選器除外:objectype、mimetype和類型篩選器。不支援根據查詢記錄提供的建議 (使用者先前在搜尋應用程式中執行的搜尋)
最多可將 20 項資源標示為
is_suggestable。如要提高這項上限,請與 Cloud Search 支援團隊聯絡。如果資源含有
exact_match_with_operator,則無法使用搜尋運算子自動完成功能。Cloud Search 的自動完成功能最多會根據文件內容提供 5 項建議,以及 2 項人員建議。
Cloud Search 的自動完成功能只會根據使用者有權存取的檔案,建議相關詞組。