再ランキング
多くの検索システムは二段階の検索パイプラインに基づいて構築されています。
第一段階では、安価で高速なアルゴリズムを使用して、広範な一致候補を見つけます。
第二段階では、より強力なモデル(通常は機械学習ベース)を使用して、文書の順序を再調整します。この第二のステップは再ランキングと呼ばれます。リソース集約型のモデルは、事前にフィルタリングされた小さな結果セットにのみ適用されるため、このアプローチは、検索パフォーマンスと計算コストを最適化しながら、より関連性の高い結果を返します。
Elasticsearchは、検索の関連性とパフォーマンスを最適化するためのさまざまなランキングおよび再ランキング技術をサポートしています。
二段階検索パイプライン
第一段階:初期検索
全文検索:BM25スコアリング
Elasticsearchは、用語の頻度と逆文書頻度に基づいて文書をランク付けし、文書の長さに調整します。BM25は、Elasticsearchのデフォルトの統計スコアリングアルゴリズムです。
ベクトル検索:類似性スコアリング
ベクトル検索は、データを密なまたは疎なベクトル埋め込みに変換して意味を捉え、クエリベクトルの類似性スコアを計算することを含みます。自動推論とベクトル化のためにsemantic_text
フィールドを使用してベクトルを保存するか、基盤となる埋め込みモデルに対してより多くの制御が必要な場合はdense_vector
およびsparse_vector
フィールドを使用します。semantic
、knn
、またはsparse_vector
クエリを使用してクエリベクトルフィールドを照会し、類似性スコアを計算します。詳細については、セマンティック検索を参照してください。
ハイブリッド技術
ハイブリッド検索技術は、全文検索とベクトル検索パイプラインからの結果を組み合わせます。Elasticsearchは、逆順位融合(RRF)アルゴリズムを使用して、語彙的マッチング(BM25)とベクトル検索スコアを組み合わせることを可能にします。
第二段階:再ランキング
次の高度な再ランキングパイプラインを使用する際、第一段階の検索メカニズムは効果的に候補のセットを生成します。これらの候補は再ランキング処理を行うために再ランカーに送られます。
セマンティック再ランキング
セマンティック再ランキングは、機械学習モデルを使用して、クエリに対する意味的類似性に基づいて検索結果の順序を再調整します。モデルは、Elasticsearchクラスター内で直接ホストすることも、推論エンドポイントを使用してサードパーティサービスが提供するモデルを呼び出すこともできます。セマンティック再ランキングは、既存の全文検索インデックスに対して、すぐに使えるセマンティック検索機能を提供します。
ランキング学習(LTR)
ランキング学習は、上級ユーザー向けです。ランキング学習は、検索体験のためのランキング関数を構築するために機械学習モデルをトレーニングすることを含み、時間とともに更新されます。LTRは、十分なトレーニングデータがあり、高度にカスタマイズされた関連性調整が必要な場合に最適です。