ES|QL Join が登場!そう、Join です! ノート

ES|QL Join が登場!そう、Join です!

Elasticsearch 8.18 では、SQL スタイルの新しい JOIN 機能である LOOKUP JOIN が導入されました。これにより、簡単に更新可能な参照データセットを利用して、データの関連付けやエンリッチメントが可能になります。この機能は技術プレビューとして提供され、イベントにホストや資産の情報を追加したり、IP アドレスを脅威インテリジェンスリストと照合したりできます。Lookup Join は LEFT OUTER JOIN であり、右側のデータには「lookup」と呼ばれる新しいインデックスモードが利用されます。この "lookup" インデックスは直接更新可能です。lookup インデックスには、資産データ、脅威インテリジェンスデータ、注文情報、従業員/顧客情報など、さまざまな種類のデータを保持できます。これまで Elasticsearch には JOIN 機能がありませんでしたが、Lookup Join はこの制限を解消します。Lookup Join を有効にするために、「lookup」と呼ばれる新しいインデックスモードが作成されました。このモードは20億ドキュメントに制限されていますが、直接更新可能です。ソースデータに制限はなく、JOIN を実行するためにデータ準備は不要です。Lookup Join は、ES|QL の ENRICH コマンドよりもセットアップと管理が容易で、エンリッチポリシーの作成が不要、ポリシーの実行が不要、複数のマッチの処理がより優れているなどの利点があります。ユーザーは、インデックス管理や Kibana の ML ファイルアップローダーなど、さまざまな方法で lookup インデックスを作成できます。Lookup Join の使用方法は無限であり、今後の開発では、INNER JOIN やサブクエリなど、他の種類の JOIN や、任意のインデックスとの JOIN が含まれる可能性があります。