IBM Cloud Docs
Elasticsearch 検索統合の設定

Elasticsearch 検索統合の設定

さらに 企業 IBM Cloud Pak for Data IBM Software Hub

Elasticsearch は、アシスタントがエンタープライズ・コンテンツを活用することで、メトリック、構造化、非構造化、セマンティックなどのさまざまなタイプの検索を、より高い精度と関連性で実行できるようにします。 Elasticsearch のデータ分析エンジンは、検索統合の範囲をアシスタント内のより大規模なデータセットに拡大します。 この統合に加えて、会話型の方法で照会に応答するのに役立つ Elasticsearch の会話型検索をアシスタントで有効にすることができます。

検索統合は1つの環境につき1つしかできません。 既存の検索統合を IBM Watson® Discovery Milvus、カスタムサービスなどの他の統合タイプに変更すると、既存の検索統合の設定は上書きされます。

Elasticsearch の選択

デフォルトの検索統合として Elasticsearch を選択するには、以下のいずれかの手順を使用します。

  • 「統合」ページからの Elasticsearch 検索統合の選択

    1. watsonx Assistant インスタンスを作成した後、 「ホーム」 > 「統合」 に移動します。
    2. 検索タイル内の 「開く」 をクリックすると、 オープン検索ウィンドウが表示されます。
    3. アシスタントのドラフト環境Elasticsearch を設定する場合は、 [オープン検索]ウィンドウでドロップダウンメニューから[ Draft ]オプションを選択します。 アシスタントのライブ環境Elasticsearch を設定したい場合は、ドロップダウンメニューから Live オプションを選択します。
    4. 既存の新しい検索統合ウィンドウの編集画面Elasticsearch を選択します。
  • 「環境」ページからの Elasticsearch 検索統合の選択

    1. watsonx Assistant インスタンスを作成した後、 「ホーム」 > 「環境」 に移動します。

    2. Elasticsearchを下書き環境でセットアップする場合は 、[下書き] タブを選択します。 ライブ環境で Elasticsearchをセットアップする場合は 、[ライブ] タブを選択します。

    3. 「解決方法」セクションで Elasticsearchを追加したい場合は 、「拡張機能」 の下にある 「検索」タイル内の 「追加」 をクリックします。

      Elasticsearch 検索統合を既に追加している場合は、 「拡張」 の下の 「検索」 タイル内に 「追加」 の代わりに 「開く」 ボタンが表示されます。

    4. 新しい検索拡張の設定ウィンドウで Elasticsearch のタイルを選択します。

      Elasticsearchを選択
      Elasticsearchを選択

設定 Elasticsearch

アシスタントで Elasticsearch をセットアップするには、以下の手順を使用します。

  1. 次のフィールドを提供して、アシスタントElasticsearchに接続できるようにします

    • Elasticsearch URL

    • Elasticsearch ポート (オプション)

    • 認証の種類を選択してください

      • Basic authentication を選択した場合は Elasticsearchのユーザー名Elasticsearch を入力する必要があります。
      • API key を選択した場合は、 Elasticsearch API キーを指定する必要があります。

      Elasticsearch に接続する
      Elasticsearch に接続する

  2. 「次へ」 をクリックして、 「索引の選択」 セクションに移動します。 「索引の選択」 には、次の 2 つのオプションがあります。

    • 既存の索引を使用するには、 「自分の索引を使用」 を選択します。
    • 新規索引を作成するには、 「 Elasticsearch インスタンスでの新規索引への文書のアップロード」 を選択します。

既存の索引の使用

  1. 「索引の選択」 セクションで、 「自分の索引を使用」 をクリックして、既存の Elasticsearch 索引に接続します。 Elasticsearch のセットアップでは、デフォルトとして 「索引の使用 (Use my index)」 オプションが選択されています。

  2. 「自分の索引を使用する (Use my index)」 オプションで、 Elasticsearch 索引名を入力します。

  3. 「次へ」 をクリックして、 「会話型検索の有効化 (オプション) (Enable versational search (optional))」 セクションに移動します。

  4. 会話型検索は、 watsonx Assistantのプラス・プランおよびエンタープライズ・プランでのみ使用可能です。 会話型検索をアクティブにする場合は、 「会話型検索を有効にする (オプション) (Enable conversation search (optional))」 セクションで、 「会話型検索 (Conversational Search)」 トグルを on に切り替えます。 会話型検索をアクティブにしない場合は、トグルを off に切り替えます。 会話型検索について詳しくは、 会話型検索 を参照してください。

  5. **「保存」をクリックしてから「閉じる」**をクリックします。

新規索引への文書のアップロード ベータ

文書をアップロードする前に、 Elasticsearch インスタンスに以下の前提条件が必要です。

  • Elasticsearch 8.8 以上。

  • Elastic.co IBM Cloud Databases for ElasticsearchのプラチナエディションやプラチナまたはエンタープライズサブスクリプションElasticsearchの有料またはトライアルサブスクリプション。

  • ELSER モデルをデプロイするための最小 4 GB のメモリーを備えた Machine Learning (ML) ノード。 ELSER の要件について詳しくは、 ELSER の要件 を参照してください。

  • アップロードする書類は英語でなければなりません。

Elasticsearchにドキュメントをアップロードするための前提条件が満たされていない場合、 Requirements not met というエラーメッセージが表示されます。

前提条件を満たしても文書のアップロードに遅延や失敗が発生する場合は、 number_of_allocationsthreads_per_allocation などのパラメータを設定することで、ELSERモデルの推論パフォーマンスをスケーリングすることを検討できます。 推論パフォーマンスのスケーリングについて詳しくは、 トレーニング済みモデル・デプロイメント API の開始 を参照してください。

文書を新規索引にアップロードするには、以下の手順を使用します。

  1. Elasticsearch ウィンドウの 「Select index」 セクションで、 「Upload documents to a new index in your Elasticsearch instance」 をクリックします。

    watsonx Assistant は、アップロードされた文書を保管、チャンク化、および索引付けのために Elasticsearch インスタンスに渡します。

  2. Configure result content セクションで、タイトル、本文、 URLを検索レスポンスにマッピングするために以下のフィールドを指定します:

    • タイトル

      検索結果のタイトル。 検索結果タイトルとして、コレクション・フィールドの title、name、または同様のタイプを使用します。

      タイトルに何かを選択する必要があります。そうしないと、Facebook および Slack の統合に検索結果の応答が表示されません。

    • Body

      検索結果の説明。 検索結果の本文として、コレクション・フィールドの abstract、summary、または highlight を使用します。

      本文に何かを選択する必要があります。そうしないと、Facebook および Slack の統合に検索結果の応答が表示されません。

    • URL

      このフィールドには、検索結果の最後に含めたいフッターコンテンツを任意で入力することができます。

    ネストされたドキュメントを検索するために、 Elasticsearchの詳細設定でクエリボディを設定する場合、 タイトル本文URL が Elasticsearch インデックスの内部ドキュメントのフィールドのものであることを確認する必要があります。 ネストされたクエリの詳細については、 Elasticsearch ネストされたクエリ を参照してください。

  3. 「拡張 Elasticsearch 設定」 セクションを展開して、以下のテキスト・ボックスを表示します。

    • Elasticsearchのフィルター配列の構成

      フィルターをオブジェクトの配列として定義し、フィルターを作成して照会本体ごとに内容を調整できるようにします。 詳しくは、カスタムフィルターの設定をご覧ください。

    • Elasticsearchの照会本文の構成

      照会本体は、ユーザー要求を操作して、検索で予期される形式にするために使用されます。 これは、照会フォーム、検索フィールド、フィルター、および照会サイズを制御します。 REST APIでは、クエリボディElasticsearch への _search リクエストの POST ボディを表すオブジェクトです。 照会本体には、顧客の照会を表す "$QUERY" トークンと、検索設定またはステップ・レベルのいずれかで定義されたフィルターの配列を表す "$FILTER" トークンがあります。

      デフォルトでは、 Elasticsearch 統合はキーワード検索を使用します。 しかし、 Advanced Elasticsearch settings でクエリ本文を設定することで、より高度な検索技術を有効にすることができます。例えば、

      • ELSERによる意味検索
      • KNN高密度ベクトル探索
      • ネストされたクエリを使用してネストされたドキュメントを検索する
      • ハイブリッド検索
      • テキストの意味的な分野で検索

      さまざまなタイプの照会本体の例の使用について詳しくは、 照会本体の例 を参照してください。

      Elasticsearch _search API 要求本体について詳しくは、 Elasticsearch 検索 API 要求本体を参照してください。

      既存の Elasticsearch 構成を使用してアシスタント内の照会本文をカスタマイズすることはできません。

  4. メッセージ」タブ、「結果が見つかりません」タブ、および「接続の問題」タブを使用して、検索の成功度に基づいてユーザーと共有するさまざまなメッセージをカスタマイズします。

    検索結果メッセージ
    タブ シナリオ メッセージの例
    メッセージ 検索結果が返された I found this information that might be helpful:
    結果が見つかりません 検索結果が見つからない I searched my knowledge base for information that might address your query, but did not find anything useful to share.
    接続の問題 何らかの理由により検索を実行できない I might have information that could help address your query, but am unable to search my knowledge base at the moment.
  5. 会話型検索をアクティブにする場合は、 「会話型検索」 トグルを on に切り替えます。 会話型検索をアクティブにしない場合は、トグルを off に切り替えます。

    会話型検索は、 watsonx Assistantのプラス・プランおよびエンタープライズ・プランでのみ使用可能です。 「会話型検索 (Conversational Search)」 トグルを on に切り替えると、アシスタントの応答に引用のタイトルが表示されます。 会話型検索について詳しくは、 会話型検索 を参照してください。

  6. 設定を保存するには、 「保存」 をクリックします。

  7. Elasticsearch ウィンドウの 「Documents」 タブをクリックします。

    「文書」 タブは、 「 Elasticsearch インスタンスでの新規索引への文書のアップロード」 オプションを選択した場合にのみ有効になります。

  8. 「アップロード」 ボタンをクリックします。 「ドキュメントのアップロード」セクションでは、ファイルをドラッグするか、またはシングルクリックするだけで、アシスタントに直接ドキュメントをアップロードすることができます。

    一度に最大 20 個の文書をアップロードできます。 各ドキュメントのファイルサイズは25KB以内とする。 すべての書類の合計サイズが50MBを超えないこと。

    Elasticsearch ドキュメントのアップロード
    Elasticsearch ドキュメントのアップロード

  9. 文書をアップロードすると、 Elasticsearch ウィンドウの表に文書のアップロード状況が表示されます。

  10. 状況 Ready は、ファイルが検索可能であることを示します。

  11. 状況が Error を示している場合は、 Error の横にある 3 つのドットをクリックしてファイルを削除し、 Delete をクリックすることができます。

    Elasticsearch アップロードエラー
    Elasticsearch アップロードエラー

  12. Elasticsearch インスタンスの認証情報を変更しない場合は、このステップをスキップしてください。 Elasticsearchインスタンスの認証情報を変更したい場合は、インスタンスタブをクリックし、認証情報を編集し、保存をクリックします。

  13. 「保存」 をクリックしてから 「閉じる」 をクリックして、 Elasticsearch のセットアップを終了します。

Elasticsearch を使用するためのアシスタントの構成

Elasticsearch 検索統合を構成した後、顧客の応答がアクションに一致しない場合に Elasticsearch を使用するようにアシスタントを構成する必要があります。 検索を使用するための 「一致なし」 の更新について詳しくは、「 一致するアクションがない場合に検索を使用する」を参照してください。

Elasticsearch のテスト

アクション・プレビュー、プレビュー・ページ、またはプレビュー・リンクを使用して、 Elasticsearch との検索統合をテストできます。

この例では、ユーザーは Tell me about a custom extension と尋ねます。

検索結果は、会話型検索が off の場合に知識ベースから取得されます。 答えは I searched my knowledge base and found this information which might be useful です。

会話型検索オフ
会話型検索オフ

会話型検索が on の場合は、知識ベース内の最良の結果からのテキスト・ベースの応答が表示されます。

での会話型検索 会話型検索