オートコンプリートの実装
Cloud Searchのオートコンプリートは、ユーザーが検索クエリを入力するときに単語を提案することによ 候補には、ドキュメントのタイトル、検索演算子、検索演算子の値、名前、google Workspaceドメインからの電子メールなどがあります。
オートコンプリートは、インデックス付きドキュメントのタイトルからフレーズを抽出し、n-gramモデルを使用して、Suggestionstoを決定Suggest APIを使用して提供します。 たとえば、映画に関するデータを含む次のdatasourceがあるとしましょう:
- データソースには2つのドキュメントが含まれています。各ドキュメントにはタイトル(
ItemMetadata.title
genre
characters
。 - 最初の文書のタイトルは”Avengers Infinity War”で
genre=science fiction
characters=Iron Man, Hulk
- 第二の文書のタイトルは”Harry Potter”で
genre=Adventure, Fantasyand
characters=Hermione,Harry Potter`
図1は、オートコンプリートの提案がどのように行われているかを示していますドキュメントのタイトル、プロパティ、およびプロパティ値から抽出されます。
文書1から、我々はngram(トライグラムまで)”アベンジャーズ”、”無限”、”戦争”、”アベンジャーズインフィニティ”、”無限戦争”、”アベンジャーズインフィニティ戦争を抽出します。”同様に、ドキュメント2から、”Harry”、”Potter”、”Harry Potter”を生成します。
このデータソースを照会するときに、ユーザーが”h”と入力して開始したとします。:ユーザーがオートコンプリートの提案”Hermione”を選択し、ユーザーからのnextkeystrokeが文字”a”であるとしましょう。
- Hermione Adventure
- Hermione Action
- Hermione Avengers cloud searchのオートコンプリートは、documentcontentから最大5つの候補と2人の候補を返します。
デフォルトでは、ドキュメントタイトルのフレーズはオートコンプリートで表示されます。 Suggest APIが対応するプロパティ名と値をオートコンプリートするには、Schemapropertiesを明示的に
is_suggestable
としてマークする必要があります。オートコンプリートAPIとの統合
デフォルトの検索アプリケーションまたは埋め込み可能なsearchwidgetを使用している場合、Cloud Searchのオートコンプリートフィー デフォルトでは、ドキュメントのタイトルのフレーズはオートコンプリートで表示されます。 Suggest APIが対応するプロパティ名と値をオートコンプリートするには、スキーマプロパティを明示的に
is_suggestable
/query/suggest
APIエンドポイントを照会することで自動補完を使用できます。制限
オートコンプリートには次の制限があります。
-
スキーマで定義されている
FilterOptions
を使用してCloud Searchのオートコンプリートフレーズを制限することは、次のビルトインフィラーを除いてサポートされていません:objectype
mimetype
、およびタイプフィルタ。 -
クエリ履歴ベースの提案(以前に検索アプリケーションでユーザーが実行した検索)はサポートされていません
-
最大20のプロパティを
is_suggestable
としてマーク この制限は、Cloud Searchサポートに連絡することで増加させることができます。 -
検索演算子のオートコンプリートは、
exact_match_with_operator
のプロパティでは使用できません。
-