すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:カスタムテキストアナライザー

最終更新日:Jan 13, 2025

概要

分析は、検索エンジンの基本的かつ重要な機能です。分析結果は検索パフォーマンスに直接影響します。フレーズの意味は、ビジネスシナリオやコンテキストによって異なります。したがって、期待される分析結果は、多様なビジネスシナリオに基づいて変化します。OpenSearchは、すべての業界に適用される基本的なアナライザーに加えて、Eコマース業界のテキスト用アナライザーなど、業界固有のアナライザーを提供しています。

多様なビジネス要件に対応するため、OpenSearchでは、組み込みのアナライザーと介入エントリを使用してカスタムアナライザーを作成できます。アプリケーションのインデックスフィールドを設定する際にアナライザーを選択できます。これにより、OpenSearchは、インデックス作成時と検索時の分析プロセスを調整して、検索結果が期待どおりになるようにすることができます。

介入エントリ

二次分析機能を使用して、介入エントリを管理できます。

二次分析を有効にすると、元のカスタムアナライザーの結果のテキストが再度セグメント化されます。二次分析を無効にすると、元のカスタムアナライザーの結果が保持されます。

たとえば、エントリが「开放搜索」で、中国語テキストの汎用アナライザーが使用されているとします。次の図は、二次分析が有効になっている場合の結果を示しています。

image

次の図は、二次分析が無効になっている場合の結果を示しています。

image

使用上の注意

  • カスタムアナライザーのエントリは、指定されたアナライザータイプのすべてのエントリと、アナライザーに手動で追加されたエントリで構成されます。手動で追加されたエントリは、指定されたアナライザータイプのエントリよりも優先順位が高くなります。

  • 新しいOpenSearchコンソールでは、最大20個のカスタムアナライザーを作成できます。

  • カスタムアナライザーには、最大1,000個の介入エントリを含めることができます。

  • 各エントリのキーは10文字以内、各エントリの値は32文字以内にする必要があります。各文字は、漢字または英字にすることができます。

  • エントリのキーと値には、大文字、全角文字、または中国語の句読点を含めることはできません。

  • セマンティックベースの分析の介入エントリのキーと値は、値のスペースが削除された後、同じである必要があります。サンプルエントリ:

    キーは「不正确的词条」、値は「错误 的 词条」です。 // The key is "不正确的词条", and the value is "错误 的 词条".
    キーは「正确的词条」、値は「正确 的 词条」です。 // The key is "正确的词条", and the value is "正确 的 词条".

    最初のエントリは無効です。スペースが削除された後、キーと値が同じではないためです。

  • エントリのキーにスペースを含めることはできません。サンプルエントリ:

    キーは「不正确 词条」、値は「不 正确 词条」です。 // The key is "不正确 词条", and the value is "不 正确 词条".
    キーは「正确词条」、値は「正确 词条」です。 // The key is "正确词条", and the value is "正确 词条".

    最初のエントリは無効です。キーにスペースが含まれているためです。

  • エントリのキーを、同じ介入辞書の別のエントリの値の一部にすることはできません。サンプルエントリ:

    キーは「自定义分词器」、値は「自定义 分词器」です。 // The key is "自定义分词器", and the value is "自定义 分词器".
    キーは「分词器」です。 // The key is 分词器.
    キーは「分词」です。 // The key is 分词.

    2番目のエントリは無効です。キー「分词器」が最初のエントリの値の一部であるためです。3番目のエントリは有効です。

カスタムアナライザーの作成と使用

プロセス

1. カスタムアナライザーを作成します。2. アプリケーションのオフラインバージョンを変更します。3. 再インデックスを実行します。4. カスタムアナライザーを使用します。

手順

1. OpenSearchコンソールにログオンします。左側のナビゲーションペインで、[検索アルゴリズムセンター] > [検索設定] を選択します。[基本設定] ページで、左側のペインの [アナライザー管理] をクリックします。[アナライザー管理] ページで、[テキストアナライザー] タブの [作成] をクリックします。

image

2. [アナライザーの作成] パネルで、アナライザー名を入力し、アナライザータイプを選択し、アナライザーを選択して、[保存] をクリックします。

image

3. [テキストアナライザー] タブで、作成したカスタムアナライザーを見つけ、[アクション] 列の [エントリの管理] をクリックします。[エントリの管理] ページで、[追加] をクリックします。[介入エントリの追加] パネルで、[検索クエリ] パラメーターと [分析結果] パラメーターを設定し、[二次分析] をオンにします。この例では、「糯米」というフレーズを使用します。

image

:用語はスペースで区切ります。例:キーは「糯米」、値は「糯 米」です。

4. 分析テストを実行して、追加された介入エントリが有効になった後の分析結果を確認します。

image

  • [テストテキスト] フィールドに「糯米」と入力します。

image

  • 次の図は、複数カスタムアナライザーの分析結果を示しています。

image

5. 分析テストが完了したら、[基本設定] ページに移動して、アプリケーションのオフラインバージョンを変更します。

image

:OpenSearchは、アプリケーションのオンラインバージョンに対して変更した設定に基づいて、アプリケーションのオフラインバージョンを生成します。オフラインアプリケーションを変更しても、オンラインアプリケーションは影響を受けません。

6. [インデックスフィールドリスト] セクションで、カスタムアナライザーを設定するインデックスを見つけ、[分析方法] 列のドロップダウンリストからカスタムアナライザーを選択します。

image

7. 再インデックス後にカスタムアナライザーが有効になるまで待ちます。

image

カスタムアナライザーの検索結果

たとえば、中国語テキストの汎用アナライザーを使用しているが、「糯米」、「小米」、または「大米」を含むドキュメントは、「米」を検索しても取得できません。

この場合、前述の操作を実行して、test_zwという名前のカスタムアナライザーを作成できます。カスタムアナライザーが設定されているアプリケーションのスキーマを変更し、再インデックスを実行すると、次の図に示すように、ドキュメントを期待どおりに取得できます。

使用上の注意

  • 新しいOpenSearchコンソールでは、既存のカスタムアナライザーに介入エントリを追加できます。アプリケーションで使用されているカスタムアナライザーに介入エントリを追加する場合、介入エントリは再インデックスを実行した後にのみ有効になります。介入エントリをできるだけ早く有効にするには、分析結果が期待どおりでないドキュメントを更新して、再インデックスをトリガーできます。

  • カスタムアナライザーのエントリのキーは、10文字以内にする必要があります。

  • カスタムアナライザーのエントリのキーには、大文字、全角文字、または中国語の句読点を含めることはできません。

  • カスタムアナライザーのエントリの値には、大文字、全角文字、または中国語の句読点を含めることはできません。

  • 二次分析を無効にすると、OpenSearchは最初に生成された用語をセグメント化しません。それ以外の場合、OpenSearchは用語をさらにセグメント化します。

  • 業界別拡張版のアプリケーションのみが、Eコマース業界のテキスト用汎用アナライザーに基づいて作成されたカスタムアナライザーを使用できます。

  • アプリケーションで使用されているカスタムアナライザーは削除できません。