成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Elasticsearch雖好,但矢量數據庫才是未來

譯文 精選
數據庫
專門構建的矢量數據庫將Sparse-BM25算法和語義搜索整合到單一的高效操作中,因而優于雙系統環境。

譯者 | 布加迪

審校 | 重樓

幾十年來,以Elasticsearch代表的關鍵詞匹配(又稱為全文搜索一直是企業搜索和推薦引擎等信息檢索系統的默認選擇。

隨著基于人工智能的搜索技術不斷進步,如今企業組織在向語義搜索轉變,從而使系統能夠理解用戶查詢背后的含義和意圖。嵌入模型和矢量數據庫已成為這一轉變的核心。

語義搜索將數據表示為矢量嵌入,從而比關鍵字匹配更勝一籌,提供了對搜索意圖更深入細致的理解,并徹底改變從檢索增強生成(RAG多模態搜索的各種應用場景

在實踐中,有效的信息檢索系統既需要語義理解,又需要精確的關鍵詞匹配。比如說,用戶希望搜索結果顯示與其搜索查詢相關的概念,同時尊重查詢中使用的字面文本,比如特殊術語和名稱,并返回精確匹配的結果。

基于密集矢量的語義搜索有助于理解含義(比如知道carautomobile”是同一個意思),而傳統的全文搜索提供用戶期望的精確結果(比如找到Python 3.9”的精確匹配)。因此,許多組織正在采用混合搜索方法,結合兩種方法的優勢,以兼顧靈活的語義相關性和可預測的精確關鍵字匹配。

混合搜索面臨的挑戰

實現混合搜索的一種常見方法是使用專門構建的矢量數據庫(比如開源Milvus進行高效可擴展的語義搜索,同時使用傳統的搜索引擎(比如ElasticsearchOpenSearch)進行全文搜索。

雖然這種方法可以獲得良好的效果,但也帶來了新的復雜。管理兩個不同的搜索系統意味著要處理不同的基礎設施、配置和維護任務,這會造成更沉重的操作負擔,并加大潛在集成問題的可能性。

混合搜索的統一解決方案帶來了許多好處

  • 減少基礎設施維護:管理一個系統而不是兩個系統大大降低了操作復雜性,節省了時間和資源。這也意味著可以減少上下文切換和掌握兩組不同API麻煩
  • 統一的數據管理:統一的表結構允許存儲密集數據(基于矢量)和稀疏數據(基于關鍵字)以及共享元數據標簽。使用兩個獨立的系統需要元數據標簽存儲兩次,以便雙方能夠進行元數據過濾。
  • 簡化查詢:單一個請求可以執行語義搜索任務和全文搜索任務,因而不需要對不同的系統進行兩次API調用。
  • 增強的安全性和訪問控制:統一的方法可以實現更直接穩健的安全管理,因為所有訪問控制都可以在矢量數據庫中加以集中管理,從而增強了安全合規和一致性。

統一矢量方法如何簡化混合搜索

在語義搜索中,機器學習模型基于文本的含義,將文本作為點(即密集矢量)嵌入”到高維空間中。語義相似的文本在這個空間中彼此挨得更近。比如說“apple”(蘋果)和“fruit”(水果)在這個空間中可能比“apple”(蘋果)“car”(汽車)挨得更近。這便于我們只需使用近似最近鄰(ANN)算法計算每個點之間的距離,就可以快速找到語義相關的文本。

通過將文檔和查詢編碼為稀疏矢量,該方法可以應用于全文搜索。在稀疏矢量中,每個維表示一個術語,其值表示每個術語在文檔中的重要程度。

文檔中沒有出現的術語的值為零。由于任何給定的文檔通常只使用詞匯表中所有可能術語的一小部分,因此大多數術語不會出現在文檔中。這意味著得到的矢量是稀疏矢量——它們的大部分是0比如說,在通常用于評估信息檢索任務的MS-MARCO數據集中,雖然有大約900萬個文檔和100萬個獨特的術語,但搜索系統通常將這個龐大集合分成比較小的部分,以便于管理。

即使在段級別,詞匯表中有數十萬個術語,每個文檔通常包含少于100個術語,這意味著每個矢量的值超過99%0。這種極端稀疏性對我們有效地存儲和處理這些矢量的方式有著重要的意義。

可以利用這種稀疏模式來優化搜索性能,同時保持準確性。最初為密集矢量設計的矢量數據庫可加以改動,以便有效地處理這些稀疏矢量。比如說,開源矢量數據庫Milvus剛剛發布了原生全文搜索支持,使用Sparse-BM25,這是Elasticsearch其他全文搜索系統使用的BM25算法的稀疏矢量實現。Sparse-BM25借助以下機制,充分發揮了基于近似的全文搜索優化:

  • 基于數據修剪的高效檢索算法:通過運用基于啟發式方法的修剪,丟棄片段索引中稀疏矢量值最低的文檔,忽略搜索查詢中的低值稀疏矢量,矢量數據庫可以顯著減少索引大小,優化性能,同時確保質量損耗最小。
  • 充分利用進一步的性能優化:將術語頻率表示為稀疏矢量而不是反向索引,可以實現額外的基于矢量的優化。這些包括
  1. 圖索引用于比蠻力掃描更有效的搜索。
  2. 產品量化PQ/標量量化SQ進一步減少內存占用。

除了這些優化外,Sparse-BM5實現還繼承了高性能矢量數據庫Milvus的幾個系統級優勢:

  • 高效的低級實現和內存管理:Milvus的核心矢量索引引擎是用C++實現的,提供了比Elasticsearch等基于Java的系統更高效的內存管理。與基于JVM的方法相比,僅這一點就可以節省數GB,從而減少內存占用。
  • 支持MMapElasticsearch在內存和磁盤中使用頁面緩存用于存儲索引似,Milvus支持內存映射(MMap),以便在索引超過可用內存時擴展內存容量。

為什么傳統的搜索堆棧面對矢量搜索表現不佳

Elasticsearch是為傳統的反向索引構建的,這使得它從根本上難以密集矢量搜索進行優化。其影響顯而易見:即使只有100萬個矢量,Elasticsearch也需要3770毫秒(ms)來返回搜索結果,而Milvus僅需6毫秒,足足相差600倍。這種性能差距隨著規模的擴大而拉大ElasticsearchJava/JVM實現很難與基于C++ /Go的矢量數據庫的可擴展性相匹配。此外,Elasticsearch缺乏關鍵的矢量搜索功能,比如基于磁盤的索引(DiskAnnMMap)、經過優化的元數據過濾以及范圍搜索。

VectorDBBench基準測試結果VectorDBBench基準測試結果

Milvus代表的矢量數據庫有望超越Elasticsearch,成為混合搜索的統一解決方案。通過將密集矢量搜索與經過優化的稀疏矢量技術相結合,矢量數據庫提供了卓越的性能、可擴展性和效率。

這種統一的方法簡化了基礎設施,減少了內存占用并增強了搜索功能,使其可以滿足未來的高級搜索需求。因此,矢量數據庫提供了一全面的解決方案,可以無縫結合語義搜索和全文搜索,性能比Elasticsearch傳統的搜索系統更勝一籌

原文標題:Elasticsearch Was Great, But Vector Databases Are the Future,作者:Jiang Chen

責任編輯:華軒 來源: 51CTO
相關推薦

2024-03-22 16:13:42

LLMRAGXGBoost

2022-12-12 08:23:34

Java 5ordrialname

2019-09-27 12:14:15

低代碼程序平衡

2019-02-11 09:04:24

MySQL主從復制數據庫

2017-12-22 09:58:32

MySQLGPU機器學習

2020-09-03 07:21:15

數據庫數據SQL

2023-07-06 15:05:34

矢量數據庫數據庫

2016-03-24 10:25:25

敏捷開發競爭

2020-07-09 07:00:00

Python編程語言

2023-12-28 08:00:00

數據庫人工智能

2020-11-23 16:42:38

數據庫MySQL技術

2012-07-13 17:39:53

大數據BigData社交媒體

2020-05-21 09:33:06

Reactive編程模型

2022-01-22 00:14:05

Windows 11微軟修復

2022-10-24 14:21:09

數據庫應用數據庫數據管理

2011-03-17 17:06:38

數據庫發展方向

2014-02-27 10:08:33

NoSQL

2017-06-13 16:09:49

2021-12-13 16:19:36

人工智能機器學習技術

2024-06-26 19:14:53

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人网综合在线 | 午夜在线电影网 | 国产成人av在线播放 | 日韩 欧美 综合 | 日韩久久久久 | 岛国av免费在线观看 | 羞羞在线观看视频 | 青草青草久热精品视频在线观看 | 欧美三级免费观看 | 中文字幕av亚洲精品一部二部 | 亚洲国产高清在线观看 | 亚洲国产成人精品女人久久久 | 久久艹av | 欧美一级片 | 激情五月综合网 | 中文字幕乱码亚洲精品一区 | 午夜成人免费视频 | 综合婷婷| yiren22 亚洲综合 | 一级做a爰片性色毛片16美国 | 91欧美| 欧美精品一| 精品久久国产 | 91大神在线资源观看无广告 | 网址黄 | 中文二区 | 毛片免费观看 | 一区二区国产精品 | 两性午夜视频 | 免费a v网站 | 青青草综合| 999久久久国产精品 欧美成人h版在线观看 | h肉视频| 天天操天天干天天爽 | 伊人久久在线观看 | 精品免费国产视频 | 久热久草 | 国产在线精品一区二区三区 | 久久88| 久久久一区二区 | 欧美精品在线免费观看 |