0
点赞
收藏
分享

微信扫一扫

期待一下elasticsearch还未发布的8.12版本,由lucene底层带来的大幅度提升


期待一下elasticsearch还未发布的8.12版本,由lucene底层带来的大幅度提升_es向量检索性能提升

 

   现在是北京时间23年12月10日。当前es最新版本还是es8.11版本。我们可以期待一下不久的将来,es的8.12版本看到大幅度的检索性能提升。受益于 Lucene 9.9版本,内核带来的大幅提升!

    此次向量检索利用底层指令fma会性能提升5%。并且还提供了向量点积的能力。重点较大幅度提升了多关键词匹配topK的搜索场景。

核心提升两个场景

  1. 一次检索中。很多个检索关键词(例如(term_1 OR term_2 OR ... OR term_n)),之间and或者or操作的检索在topK召回的时候大幅提速。
  2. 向量线索提速。

详细提升细节

       以下两点,是提升搜索性能的细节。其主要思路是,跳过更多的数据。(这里就不翻译提取来。害怕误人子弟。大家想了解为什么,一定要看下边的原文)

  • 使用许多和/或高频术语(注释 FK)为 top-k 查询带来加速
  • 使用 block-max MAXSCORE 进行更多跳跃(注释 FU)

        以下两点,是向量检索的提升细节

  • 使用 SIMD 指令加速矢量搜索
  • FMA 式向量相似度计算

基准测试结果对比

以下是基准测试在 Lucene 9.6(2023 年 5 月)和 Lucene 9.9(2023 年 12 月)之间观察到的一些加速:

  • AndHighHigh:快 35%
  • AndHighMed:快 15%
  • OrHighHigh:快 60%
  • OrHighMed:快 38%
  • CountAndHighHigh:快 15%
  • CountAndHighMed:快 11%
  • CountOrHighHigh:快 145%
  • CountOrHighMed:快 155%
  • TermDTSort:快 24%
  • TermTitleSort:快 290%(不是拼写错误!)
  • TermMonthSort:快 7%
  • DayOfYearSort:快 25%
  • 矢量搜索:速度提高 5%

这里可以看到lucene所有的基准测试结果:

Lucene nightly benchmarks

参考es官方博客:Apache Lucene 9.9, the fastest Lucene release ever — Elastic Search Labs


举报

相关推荐

0 条评论