機能の概要
トークン化は、検索エンジンにおける基本的かつ重要なコンポーネントです。トークン化の結果は、検索パフォーマンスに直接影響します。ビジネスシナリオはさまざまであり、同じフレーズでも異なるサービスやコンテキストでは異なる意味を持つことがあります。このため、期待されるトークン化の結果も異なります。このため、OpenSearch では一般的な用途向けのベースアナライザーを提供しています。また、EC 分野向けの EC アナライザーなど、特定のフィールド向けのアナライザーも提供しています。
お客様のビジネスニーズによりよく対応するため、OpenSearch ではカスタムアナライザーを作成できます。システムのベースアナライザーを基に構築し、介入エントリを追加できます。アプリケーションのインデックスフィールドに対応するアナライザーを選択できます。これにより、インデックス作成とクエリのトークン化結果に影響を与え、検索結果の品質を確保できます。
介入エントリ
二次トークン化機能を使用して、介入エントリを管理できます。
二次トークン化を有効にすると、カスタムトークン化の後、結果が再度トークン化されます。二次トークン化を無効にすると、カスタムトークン化の結果が保持されます。
たとえば、「OpenSearch」 という用語に汎用中国語アナライザーを使用する場合、二次トークン化を有効にした結果は次のとおりです。
二次トークン化を無効にした結果は次のとおりです。
注意事項
-
カスタムアナライザーのエントリは、ベースアナライザーのすべてのエントリと手動で追加されたエントリの組み合わせです。手動で追加された介入エントリは、デフォルトアナライザーのエントリよりも優先度が高くなります。
-
新しいコンソールでは、最大 20 個のカスタムアナライザーを作成できます。
-
1 つのカスタムアナライザーには、最大 1,000 個の介入エントリを含めることができます。
-
各エントリにおいて、キーは最大 10 文字、値は最大 32 文字です。1 文字は、中国語の漢字 1 文字または英字 1 文字のいずれかを指します。
-
エントリの内容には、大文字 (A-Z)、全角記号 (\uff01 - \uff5e)、または中国語の句読点を含めることはできません。
-
セマンティックチャンキング介入エントリの場合、スペースを削除した後のキーと値は同じである必要があります。例:
Incorrect entry=>Erroneous entry Correct entry=>Correct entry最初のエントリでは、スペースを削除した後のキーと値の内容が異なります。したがって、このエントリは無効です。
-
キーにスペースを含めることはできません。例:
In correct entry=>In correct entry CorrectEntry=>Correct entry最初のエントリのキーにはスペース (" ") が含まれています。したがって、このエントリは無効です。
-
キーの内容は、同じ介入辞書内の別のエントリの値から生成されるトークンの 1 つであってはなりません。例:
custom_tokenizer=>custom tokenizer tokenizer tokenization2 番目のエントリのキー「tokenizer」 は、最初のエントリの値から生成されるトークンの 1 つです。したがって、2 番目のエントリは無効です。ただし、3 番目のエントリは有効です。
フローのデモ
フローの概要
カスタムアナライザーの作成 → オフライン変更の実施 → インデックスの再構築 → カスタムアナライザーの効果の確認
手順
1. OpenSearch コンソールでホームページに移動します。左側のナビゲーションペインで、 [検索設定センター] > [検索設定] > [アナライザー管理] を選択し、 [作成] をクリックします。
2. アナライザーを作成します。アナライザー名を指定し、アナライザータイプを選択します。
3. 介入エントリを追加します。クエリと期待するトークン化結果を入力します。この例では「nuomi」 (もち米) を使用し、二次トークン化を有効にします。
注意:トークンはスペースで区切ります。例:「nuomi」 ==> 「nuo mi」。
4. トークン化をテストして、アナライザーが有効になった後の介入エントリの結果を確認します。
-
4.1. テストテキストボックスに「nuomi」 と入力します。
-
4.2. 複数のカスタムアナライザーからのトークン化結果を比較します。
5. トークン化のテスト後、 [検索設定] の [基本設定] に戻り、オンラインアプリケーションに変更を適用します。
注意:「オフライン変更の実施」とは、現在の設定に基づいてオフラインアプリケーションを生成することを意味します。オンラインアプリケーションに影響はありません。
6. アプリケーションフィールドのリストで、 [解析方法] 列を見つけ、対応するインデックスのカスタムアナライザーを選択します。
7. 変更を有効にするには、インデックスが再構築されるまで待ちます。
カスタムアナライザーの効果のデモ
「nuomi」 (もち米) を含むドキュメントを例に取ります。汎用中国語トークナイザーを使用すると、結果は期待どおりではありません。「mi」 (米) の検索では、次の図に示すように、「nuomi」 (もち米)、「xiaomi」 (キビ)、または「dami」 (米) を含むドキュメントを取得できません。手順に従って「test_zw」 カスタムアナライザーを追加し、アプリケーションスキーマを変更すると、次の図に示すように、インデックスの再構築後、生成される用語は介入と一致します。
注意事項
-
新しいコンソールでは、既存のカスタムアナライザーにエントリを追加できます。アプリケーションがすでにカスタムアナライザーを参照している場合、新しいエントリを有効にするには、インデックスを再構築する必要があります。 変更をすぐに有効にするには、トークン化に問題があるドキュメントを再アップロードします。この操作により、新しい介入エントリの再インデックスがトリガーされます。
-
カスタムアナライザーのクエリの長さは 10 文字を超えることはできません。
-
カスタムアナライザーのクエリには、大文字、全角記号、または中国語の句読点を含めることはできません。
-
カスタムトークン化の結果には、大文字、全角記号、または中国語の句読点を含めることはできません。
-
二次トークン化スイッチを無効にすると、システムは介入設定に厳密に従い、それ以上のトークン化を実行しません。有効にすると、システムは介入結果をさらにトークン化します。
-
アプリケーションによって参照されているカスタムアナライザーは削除できません。