Amazon Elasticsearch Service (Elasticsearch バージョン 2.3 を実行) をセットアップ中です。
さまざまなタイプのデータがあります(現在、同じインデックス内の異なるドキュメントタイプと考えています)。
インライン オートコンプリート機能、つまり、すべての異なるデータ (ドキュメント) タイプからヒットを返す補完サジェスターが必要なアプリで一般的な検索を行います。それはどのように設定できますか?
サジェスタをクエリするときは、インデックスを指定する必要があるため、すべてのデータを同じインデックスに保持したいと考えました。ドキュメントによると、補完サジェスターはインデックス内のすべてのドキュメントを考慮します。
最初のドキュメント タイプの補完サジェスターの設定は非常に簡単で、うまく機能しています。ただし、クエリを実行するときに提案フィールドを指定するように見える限り。2 番目のドキュメント タイプのマッピングを設定するときに表示されるエラー メッセージがなければ、これで問題ありません。
タイプ: illegal_argument_exception 理由: 「[suggest] はマッピング [name_of_document_type] でオブジェクトとして定義されていますが、この名前は他のタイプのフィールドに既に使用されています」
この質問を書いていると、1 つのサジェスト クエリで複数のサジェスタを指定できることがわかります。多分それは私たちがそれを解決しなければならないものですか?(つまり、Y のサジェスターから X の結果を取得し、スコアを比較して、ユーザーに提示したい 1 つの提案を取得します。)