オートコンプリートの実装

Cloud Searchのオートコンプリートは、ユーザーが検索クエリを入力するときに単語を提案することによ 候補には、ドキュメントのタイトル、検索演算子、検索演算子の値、名前、google Workspaceドメインからの電子メールなどがあります。

オートコンプリートは、インデックス付きドキュメントのタイトルからフレーズを抽出し、n-gramモデルを使用して、Suggestionstoを決定Suggest APIを使用して提供します。 たとえば、映画に関するデータを含む次のdatasourceがあるとしましょう:

  • データソースには2つのドキュメントが含まれています。各ドキュメントにはタイトル(ItemMetadata.titlegenrecharacters
  • 最初の文書のタイトルは”Avengers Infinity War”でgenre=science fictioncharacters=Iron Man, Hulk
  • 第二の文書のタイトルは”Harry Potter”でgenre=Adventure, Fantasyandcharacters=Hermione,Harry Potter`

図1は、オートコンプリートの提案がどのように行われているかを示していますドキュメントのタイトル、プロパティ、およびプロパティ値から抽出されます。

二つのドキュメントと結果のngram
図1。 二つの文書とオートコンプリートのために使用される結果のn-gram

文書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/suggestAPIエンドポイントを照会することで自動補完を使用できます。

    制限

    オートコンプリートには次の制限があります。

    • スキーマで定義されているFilterOptionsを使用してCloud Searchのオートコンプリートフレーズを制限することは、次のビルトインフィラーを除いてサポートされていません: objectypemimetype、およびタイプフィルタ。

    • クエリ履歴ベースの提案(以前に検索アプリケーションでユーザーが実行した検索)はサポートされていません

    • 最大20のプロパティをis_suggestableとしてマーク この制限は、Cloud Searchサポートに連絡することで増加させることができます。

    • 検索演算子のオートコンプリートは、exact_match_with_operatorのプロパティでは使用できません。



コメントを残す

メールアドレスが公開されることはありません。