従来の検索結果、近似近傍探索、ハイブリッド検索の比較

Elasticsearch 8.4 から利用可能な従来の検索機能と近似近傍探索を組み合わせたハイブリッド検索を試す

表題の通り、Elasticsearch 8.4 から待望の近似近傍探索と従来の検索を組み合わたハイブリッド検索が可能になったらしいので、試してみました。 Elascticsearch 8 で導入された近似近傍探索について Elasticsearch 公式の記事1がわかりやすく近似近傍探索について語られています。 また、日本語では@pakio さんの紹介記事2も非常にわかりやすいので、そちらも御覧ください。 嬉しいけど物足りない点 公式の資料3や@pakio さんの資料でも触れられていますが、 You can’t currently use the Query DSL to filter documents for an approximate kNN search. If you need to filter the documents, consider using exact kNN instead. Elasticsearch の Query DSL との併用不可というのが物足りない点でした。 端的に説明すると Elasticsearch 8 で利用可能になった近似近傍探索は、あくまでベクトル間のみの近似近傍探索のみできるのであって、従来の Elasticsearch の検索機能(term や filter)と近似近傍探索を組み合わせて検索できないということです。 Vespa の開発者の Jo さんも同様の点4について触れていました。 The most surprising part of the announcement is that they won’t allow combining the nearest neighbor search with standard query terms and filters....

October 29, 2022 · Shunya Ueta