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

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

最終更新日:Jan 13, 2025

機能の説明

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

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

介入エントリ

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

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

たとえば、エントリが「开放搜索」(OpenSearch)で、中国語の一般アナライザーが指定されている場合、二次分析が有効になっている場合の結果は次のとおりです。

image

二次分析が無効になっている場合の結果は次のとおりです。

image

使用上の注意

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

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

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

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

  • エントリのキーと値には、大英文字、全角文字(\uff01~\uff5e)、および中国語の句読点を含めることはできません。

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

    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

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

image

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

image

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

image

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

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

image

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

image

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

中国語の一般アナライザーを使用する場合、「米」を検索しても、「糯米」、「小米」、または「大米」を含むドキュメントを取得できません。この場合、前述の操作を実行して、test_zwという名前のカスタムアナライザーを作成できます。カスタムアナライザーが設定されているアプリケーションのスキーマを変更し、再インデックスを実行すると、次の図に示すように、ドキュメントを期待どおりに取得できます。

使用上の注意

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

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

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

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

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

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