稀疏檢索
3秒看懂
稀疏檢索是一類基於詞項精確匹配的文本檢索技術簇。其核心機制是預先建置“詞→文件”的倒排索引,將查詢與文件均表示為高維稀疏向量,通過布林邏輯與集合運算完成在大規模語料中的快速過濾,並由BM25等機率排序函式對候選文件量化相關性得分。該技術棧是Elasticsearch、Apache Lucene、OpenSearch等搜尋引擎的核心,在十億級文件上實現亞秒級延遲,支撐電商搜尋、法律文書查詢、廣告召回、企業知識庫等對精確匹配與可解釋性有剛性要求的場景。
3分鐘產業解釋
稀疏檢索的產業邏輯可以通過圖書館卡片目錄近似理解:每個關鍵詞對應一張卡片,上面寫明包含該詞的全部書籍編號。讀者提交一個多詞查詢,圖書管理員取回對應的多張卡片,找出重疊編號,再依據“詞在書中出現頻次”、“詞在館藏中的稀有度”、“書本身多厚”等規則判定哪本書最相關。
- 核心價值:該範式的壁壘集中在三個維度:① 速度——無需求解相似性距離,僅依賴倒排列表的交併差集合運算,延遲可控至毫秒級;② 可解釋性——每一個分數均可拆解到具體命中詞項及其權重,在醫療、法律、金融等合規性敏感行業不可替代;③ 跨域零樣本——僅需分詞與詞表,不需模型訓練,即可在新語言、新領域上線可用。
- 產業定位:稀疏檢索通常充當檢索流水線的第一級——粗篩(召回)。其任務是在大規模語料中高召回地框定數千條候選文件,將算力留至下游更復雜、更昂貴的精排模型(如Cross-Encoder重排序、學習排序LTR)。行業主流架構正從“純稀疏”轉向“稀疏+稠密”混合召回,通過倒數排名融合(Reciprocal Rank Fusion, RRF)綜合二者優勢。
技術原理
稀疏檢索在工程實現上分為離線索引建置、線上查詢處理、相關性評分三個子系統,它們的協同定義了整個檢索管道的效能邊界。
倒排索引:資料結構與建置
倒排索引是典型的詞項導向資料結構。與正排索引(文件ID→詞項列表)相反,它將語料庫重組織為詞項→文件的對映:
Term_i → [ (DocID_x, TF, 位置列表), (DocID_y, TF, 位置列表), ... ]
- 分詞:文本預處理第一步,將連續字元流切為離散Token。中文分詞有分詞歧義、新詞發現等挑戰,實際生產多用詞典匹配加序列標註模型(如基於CRF或Transformer的分詞器),也會輔以基於業務規則的實體識別。
- 詞項歸一化:將大小寫歸一、詞形還原以及詞幹提取(如Porter Stemmer)。在同義改寫側,通過在索引時刻或查詢時刻新增等價詞項實現擴充套件召回;誤擴充套件帶來的相關性下降需要通過IDF權重差異和中下游重排序緩解。
- 倒排列表壓縮:為控制記憶體與磁碟開銷,實際引擎會將DocID、詞頻等數值用差值編碼加變長整型壓縮(如PFOR-Delta、VByte)。Elasticsearch自7.x版本後支援
best_compression選項,通過DEFLATE進一步降低索引體積,代價是略增解壓延遲。 - 位置資訊與短語查詢:位置列表記錄詞項在文件內出現的所有偏移量。引擎在處理短語查詢(如
"sparse retrieval")時,不僅要求兩詞同時存在於文件,且要求位置差值等於1,實現精確短語匹配。
查詢處理與集合運算
線上查詢到達時,系統執行如下流程:
- 查詢解析:將原始查詢經同一分詞與歸一化管道轉換為詞項列表,並根據運算子(AND/OR/NOT)構造語法樹。
- 倒排列表載入:從詞項字典獲取每個詞項對應的倒排列表指標。
- 集合操作:
- 對
AND:對小到大的倒排列表執行多路歸併,僅保留在所有列表中出現的DocID。 - 對
OR:合併全部列表並去重。 - 實現上常應用跳錶在長列表中跳過無交集的區間,配合點陣圖加速,避免全量掃描。
- 對
- 候選文件生成:集合運算的輸出即為“召回集合”,傳遞至評分層進行計分與Top-K截斷。
BM25評分函式
BM25(Best Matching 25)模型在Robertson與Zaragoza 2009年的系統闡述後穩定為工業標準,其常用變種公式如下:
Score(D, Q) = Σ [ IDF(qi) · ( TF(qi, D) · (k1 + 1) ) / ( TF(qi, D) + k1 · (1 - b + b · |D| / avgdl ) ) ]
各成分的物理含義與作用:
- IDF(qi):衡量詞項的資訊量。文件總數
N、包含qi的文件數n(qi)。罕見詞IDF大,對區分相關文件的貢獻高;極高頻詞(停用詞)的IDF接近零。 - TF(qi, D):詞項區域性頻次,受
k1控制飽和速率。其設計隱含一項觀察:一個詞出現第二次遠比第一次增加的證據分量小,k1越大則“飽和”越慢。k1的工業預設值集中在1.2–2.0。 - 文件長度歸一化:長文件因為自然包含更多詞而不應自動獲得高分。
b控制歸一化力度,b=0不歸一化,b=1完全基於相對長度。b=0.75作為折中值沿用至今,在長文短問場景可適當向下調整。 - 數值精度與截斷:在工程實現中,BM25評分通常用單精度浮點計算並在召回階段就做分塊截斷(如每個分片召回前500條),避免跨分片高開銷排序。
分散式架構與近即時搜尋
- 分段索引:引擎(如Elasticsearch)採用不可變的Lucene分段,寫入先存入記憶體緩衝區,達到一定大小後重新整理為一個可分段的段,支援“近即時”可搜尋。
- 分片與副本:索引被切分為多個物理分片,查詢廣播至所有相關分片並行執行,最後在協調節點進行全域性Top-K歸併。
- 快取體系:快取在三個層面生效——過濾結果快取、查詢快取、欄位級請求快取,以減輕高QPS場景下的重複計算壓力。
關鍵引數
| 引數 | 典型值/範圍 | 作用 | 調優方向 |
|---|---|---|---|
k1(BM25詞頻飽和度) | 1.2–2.0 | 控制TF的邊際貢獻衰減率 | 長文件、高TF場景可降低k1值,避免高詞頻主導分數 |
b(長度歸一化) | 0.5–0.75 | 補償文件長度偏差 | 若短查詢常匹配過長文件,可上調b以抑制長文件優勢 |
| 索引分片數 | 視資料量而定 | 並行粒度、故障恢復單元 | 單分片建議10–50GB;過多小分片增加協調開銷 |
| 倒排列表壓縮模式 | best_compression / default | 索引大小與CPU解壓時間的平衡 | 對儲存敏感且CPU裕量充足時可啟用best_compression |
| 查詢超時與最大結果視窗 | 按業務SLA設定 | 防止慢查詢佔用資源 | 電商搜尋常設timeout為100–200ms,深度分頁需考慮search_after代替普通分頁 |
| 相似度演算法 | BM25 / DFR / DFI | 相關性排序核心 | 多數場景從BM25起步,有明確領域的機率模型假設時測試基於發散的自由度模型 |
| NRT重新整理間隔 | 1s(預設) | 寫入到可檢索的延遲 | 標準檢索場景保留預設值;日誌分析等寫入密集型場景可調至30–60s以提升批次寫入吞吐 |
語料庫平均文件長度 (avgdl) | 自動計算 | BM25歸一化分母的基礎 | 索引新建時應基於代表性文件預估算,作為分片分配參考 |
資料口徑說明:上述“典型值”綜合自Elastic官方文件(截至2025年2月)以及部分公開技術部落格的實踐彙總,未窮盡所有場景組合。具體值的選取需要通過離線評測及線上A/B測試驗證。
技術路線
路線一:純稀疏檢索基線
以Apache Lucene為底層建置,倒排索引與BM25/傳統TF-IDF評分配置為唯一召回與排序通道。該路線最適合以下條件同時成立的場景:① 語料以專業領域術語為主,詞義歧義少;② 剛性需要逐詞命中且結果審計要求極高;③ 算力預算有限,需要零訓練部署。代價是缺乏語義泛化能力,詞彙不匹配將直接導致召回為零。
路線二:稀疏檢索 + 查詢擴充套件
在保留倒排索引的基礎上,對查詢側進行人工或自動的語義擴充套件。常見方法是:
- 基於同義詞詞典/知識圖譜的詞項擴充套件:在醫療、化學等領域可直接對映到專業術語。
- 基於詞向量(Word2Vec、FastText)的偽相關反饋:從初步檢索結果中取Top-N,提取相關詞補充進查詢。
- 基於大語言模型的查詢改寫:將使用者口語化查詢轉換為更適合稀疏檢索的關鍵詞集合。該方式在電商搜尋近年成為標準配置,但會引入額外的延遲和成本。
路線三:稀疏 + 稠密混合檢索
當前高召回場景強推的主流路線。使用雙編碼器(如基於BERT的Dense Retriever)產出查詢與文件的低維稠密向量,經ANN索引(HNSW、IVFPQ)獨立生成一份語義召回集;稀疏索引則保障精確詞匹配的召回集。兩路結果通過倒數排名融合(RRF)在元記分器進行加權合併,供下游精排模型統一評分。優點是可同時覆蓋語義近義與稀有精確詞匹配,缺點是需要維護兩套索引以及額外的計算資源。公開資料顯示,在MS MARCO評測集上混合檢索可比純稀疏基線提升5–15%的MRR@10,具體增益因資料集與超參而異。
路線四:基於學習索引的稀疏檢索
該路線尚處前沿研究向工業小規模驗證階段。核心思路是利用小模型學習詞項到文件的對映,取代傳統靜態倒排索引的部分功能,以期在記憶體與延遲上獲得更優折中。代表性工作有基於BERT的術語權重預測、Term Importance Estimation等。截至2025年2月,公開資料未見十億級線上系統全面採用該方案。
上游
| 上游資源/要素 | 詳細說明 | 典型供應商/工具 | 相關成本結構 |
|---|---|---|---|
| 原始資料來源 | 結構化資料庫、非結構化文本、網頁、日誌、PDF檔案等 | 企業自有業務庫、Common Crawl、商業資料供應商 | 獲取成本、資料清洗的人力成本 |
| 文本預處理管道 | 語言檢測、編碼標準化、HTML清洗、去重、句子分割 | 自研管道或開源架構如Apache Tika、SpaCy | 管道開發維護、CPU/記憶體資源 |
| 分詞與詞法分析器 | 中文分詞、詞性標註、命名實體識別、詞幹提取 | IK Analyzer、HanLP、Lucene內建分析器 | 許可證(多數開源免費)、模型推論算力 |
| 基礎設施 | 計算、記憶體最佳化型機器、高速SSD儲存、低延遲網路 | AWS i3/i4i、Azure Ls_v3 系列、阿里雲端i系列例項 | 硬體租賃/攤銷、頻寬計費 |
| 基礎搜尋引擎軟體 | 倒排索引引擎核心 | Elasticsearch、OpenSearch、Vespa、Apache Solr | 開源免費,商業版許可證費(如Elastic白金版) |
說明:上述供應商及成本結構為截至2025年2月的公開資訊摘要,企業實際選型需按自身規模詢價。
下游
- 精排與重排序:稀疏檢索輸出的Top-K候選集,進入基於特徵、梯度提升樹模型(如LambdaMART、XGBoost)或基於BERT的Cross-Encoder重排器,整合業務特徵(商品銷量、時效、使用者畫像)進行精細化打分。
- 檢索增強生成(RAG):稀疏召回作為RAG流水線的可靠文件獲取通道。在需嚴格引用出處的場景(如金融研究報告、藥品說明),精確詞匹配保證證據來源的可校驗性,再由大語言模型進行上下文回答合成。
- 廣告系統:廣告觸發階段需要極為嚴格的延遲和預算約束。稀疏索引能在預設關鍵詞、實體上做精確的受眾包匹配,服務於即時競價。
- 日誌分析與AIOps:對錯誤碼、主機名、介面路徑等結構化半結構化文本,稀疏檢索提供快速過濾、聚合能力;Elasticsearch Observability方案中將其作為核心檢索層。
- 版權與合規審計:在龐大的作品庫或合同庫中,通過精確短語與關鍵詞匹配判定內容揭露與版權重合情況。
受益公司
下表列示核心受益實體,涵蓋開源、雲端服務與垂直應用三類角色。所有財務資料取自各公司公開財報(財年口徑與結束時間存在差異),具體如下:
| 公司 | 角色 | 相關業務 | 公開財務摘要/市場地位 |
|---|---|---|---|
| Elastic N.V. (ESTC) | 開源商業化主體 | Elasticsearch、Kibana、雲端託管服務Elastic Cloud | FY2024(截至2024年4月30日)總營收約12.67億美元,年增率增長約18%;Elastic Cloud營收佔比持續提升。(來源:Elastic FY2024 年報) |
| Amazon (AMZN) | 雲端服務 | Amazon OpenSearch Service | 佔託管搜尋服務市場的顯著份額;確切營收未單獨揭露。AWS FY2024 Q4(截至2024年12月31日)整體營收約287億美元,搜尋隱含在“計算與儲存”等服務中。(來源:Amazon季度財報) |
| Microsoft (MSFT) | 雲端服務 | Azure Cognitive Search | 與Azure AI服務深度整合,確切營收未單獨列報。FY2024 Q4(截至2024年6月30日)Azure雲端服務整體年增率增長29%。(來源:Microsoft季度財報) |
| Alphabet (GOOGL) | 搜尋引擎、雲端 | Google搜尋、Vertex AI Search | Google搜尋為全球最大搜索引擎(據Statcounter,2025年1月全球搜尋市場份額約90%),其核心包含高度定製化的稀疏索引技術棧。(來源:Statcounter GlobalStats) |
| 百度集團 (BIDU) | 搜尋引擎、雲端 | 百度搜索、百度智慧雲端搜尋服務 | 中文搜尋引擎市場領先,具體搜尋技術棧內部高度自研。百度智慧雲端營收為公開揭露口徑,搜尋業務確收方式與具體份額未見公開拆解。 |
| Cloudflare (NET) | 邊緣與搜尋整合 | 無伺服器全文搜尋(與Elasticsearch整合) | FY2024 Q3(截至2024年9月30日)營收約4.3億美元,年增率增長26%。搜尋服務並非獨立營收大頭,但反映搜尋即服務的趨勢。(來源:Cloudflare季度報告) |
風險提示:以上內容僅陳述公司產品的產業定位及公開財務資料,不構成任何買賣或持有建議。
市場規模
- 企業搜尋與知識發現市場:根據IDC 2024年釋出的《Worldwide Enterprise Search Software Forecast, 2024–2028》,2024年全球企業搜尋軟體及相關服務市場規模估計為62億美元(預測口徑,含本地部署與SaaS),並預期以中至高個位數CAGR成長。稀疏檢索作為該市場的核心底層元件,構成了大部分授權與託管營收的基礎。
- 搜尋即服務平台:雲端廠商提供的託管Elasticsearch/OpenSearch服務按計算、儲存計費,落在更廣泛的資料庫與資料分析PaaS市場中,該市場總額遠大於純“搜尋軟體”口徑。Gartner 2024年釋出的資料庫管理系統行業預測中,非關係型資料庫(含搜尋引擎)2024年全球規模約270億美元(含全部部署形態),複合增長率約15%–20%(預測區間謹慎估計)。
- 電商搜尋與廣告召回細分:公開資料未見權威第三方機構就稀疏檢索在電商搜尋中的獨立市場體量進行拆分。業內估算常以“電商IT基礎設施支出的3%–5%”粗算,但未形成一致口徑。
口徑說明:以上資料來源為IDC與Gartner的歷史預測報告摘要,預測資料存在不確定性,最終以機構最新發布版本為準。
玩家對比
| 維度 | Elasticsearch 生態 | OpenSearch | Apache Solr | Vespa (Yahoo/開源) |
|---|---|---|---|---|
| 開源協議 | Elastic License 2.0 / SSPL(不同元件) | Apache 2.0 | Apache 2.0 | Apache 2.0 |
| 核心優勢 | 生態最豐富,文件、外掛、整合最完備;機器學習節點、EQL、Canvas等附加功能領先 | 完全開源社群驅動,AWS強背書,相容Elasticsearch 7.x API | 老牌搜尋庫,對大型索引和批處理友好 | 集稀疏檢索、稠密檢索、結構化過濾於一體,支援線上機器學習模型即時評分 |
| 混合檢索能力 | 8.x引入text_embedding欄位與向量搜尋後支援良好,RRF成熟 | 近年版本跟上向量搜尋與混合檢索 | 需通過自定義外掛實現 | 原生支援混合檢索,稠密+稀疏+結構化濾波同一引擎內完成 |
| 典型部署規模 | 全球數千節點大型叢集常態化 | 中大型叢集持續增加,AWS託管產品廣泛 | 以百節點內中型叢集多見 | Yahoo內部數百節點驗證,外部案例增速緩 |
| 運營者 | Elastic N.V. | AWS主導的開源社群 | Apache基金會 | Yahoo/Oath貢獻,社群相對小 |
| 商業支撐 | Platinium/Enterprise訂閱與雲端服務 | AWS OpenSearch Service為主要變現 | 無單一商業體,靠服務商打包 | 較弱的商業生態,使用Vespa託管方案公司少 |
評價依據:上述特性對比基於各專案截至2025年2月的公開文件與開源社群活躍度統計,未做內部效能基準測試,實際指標以企業內部PoC結果為準。
風險
- 語義斷裂風險:稀疏檢索完全依賴詞項重疊,同義、多義、錯別字以及對口語化表達的脆弱性是源生缺陷。補充稠密召回或查詢改寫團隊可緩解,但在預算緊張或高領域壁壘場景,這一風險依然突出。
- 詞彙表與語言風險:多語言混合檢索、專有名詞未登入詞等問題導致分詞語料維護成本高;高度垂直行業(如藥物化學)可能需要持續迭代專用詞典,投入週期長而不確定性高。
- 維護複雜度:大型叢集的分片策略、索引生命週期管理、升級不相容以及腦裂問題長期存在,需要經驗豐富的平台工程團隊,人員短缺將直接威脅線上穩定性。
- 雲端供應商鎖定與許可變數:部分功能依賴商業許可(如Elastic白金版某些機器學習節點),開源協議變更歷史(如Elastic License從Apache遷移)可能影響下游使用與衍生品開發,企業需評估法律風險與切換成本。
- **成本彈性:**當索引速率和查詢QPS飆升(如大促、突發熱點),底層託管成本呈非對稱增長。若缺乏自動擴充套件和合理的快取分層,單次查詢成本可能突破預算上限。
誤讀糾偏
-
誤讀1:“稀疏檢索已過時,應全面更換為稠密語義檢索。” 糾偏:截至2025年2月,行業共識是稀疏與稠密為互補而非替代關係。在稀有實體名(如藥物代號、法律案號)、短精確查詢和合規審計等場景,純稠密檢索的語義漂移會產生風險不可接受的誤召回。混合檢索是當前的工業級“帕累托改進”,而非其中之一被替代。
-
誤讀2:“BM25是純學術公式,工程價值不大。” 糾偏:BM25經三十餘年微調,至今仍是Elasticsearch、OpenSearch等系統預設排序基準。其數學形式高度引數化,可解釋性強,且通過IDF對罕見詞的加權機制在大量實際查詢日誌中保持健壯。絕大多數神經網路式召回方案在離線實驗中均以BM25基線作為勝出前提,其“基建”價值遠非過時可概言。
-
誤讀3:“稀疏檢索等同於關鍵詞匹配,無法利用AI。” 糾偏:現代稀疏檢索流水線在三個層面廣泛使用AI:① 基於神經語言模型的分詞與命名實體識別革新了分詞邊界;② 查詢增強與改寫由大語言模型(如GPT系列、開源Llama等)驅動;③ 稀疏檢索產生的BM25分值及詞項特徵可直接入模供下游LTR樹模型訓練。因此“稀疏檢索”並非獨立於AI而是與之協同進化。
最新事件
- Elastic License變更再受關注(2024–2025持續):Elasticsearch再次調整部分元件許可,促進Elastic Cloud使用者增長的同時,也讓大型自建客戶重新審視OpenSearch的中長期替代可行性。2024年底AWS OpenSearch宣佈推出3.0版本預覽,進一步縮小與Elasticsearch新版本的功能差距。
- 混合檢索成本最佳化成為會議熱點:在SIGIR 2024與CIKM 2024,多篇論文聚焦低資源下的稀疏+稠密混合檢索,重點是通過稀疏引導的索引剪枝和量化壓縮,將混合檢索的CPU/記憶體開銷收窄至純稀疏的1.5倍以內,有望加快該方案對中小規模企業的滲透。
- 大語言模型查詢改寫進入生產標配階段:多家電商企業(包括Etsy 2023年公開的工程部落格提及,以及阿里巴巴2024年分享)已將LLM查詢重寫納入稀疏檢索前管線,用於將模糊查詢改寫為一組高精度關鍵詞組合。實測公佈的延遲增加區間在15–60ms(因模型尺寸與GPU負載而異),但對長尾查詢轉化率改善顯著。
- OpenSearch 2.17多項檢索改進(2024年Q4):強化了混合搜尋的RRF配置、動態索引排序最佳化以及磁碟級搜尋加速。部分早期採用者公佈的基準資料顯示,在相同硬體條件下索引吞吐提升近20%,查詢延遲降低約10%–15%。
來源宣告:上述最新動態綜合自各廠商官方部落格、相關頂會論文集以及行業技術媒體報道,具體指標均屬對應來源宣告數值,實際結果因環境而不同。
追蹤指標
如需定期評估稀疏檢索技術棧的競爭格局與景氣度,建議追蹤以下量化與事件指標:
- 開源生態活躍度:GitHub上Elasticsearch、OpenSearch、Vespa的Star數趨勢、月度提交次數、釋出節奏與主版本號迭代頻率。
- 雲端服務採用率:AWS、Azure、阿里雲端託管搜尋例項的季度增長數,該項在大型雲端服務商財報電話會中常作為PaaS例證提及。
- 專利與論文數量:每年SIGIR、CIKM、WWW、WSDM等頂會中“sparse retrieval”“learned sparse retrieval”“hybrid search”專題論文的收錄量,反映研究熱度變化。
- 查詢量與索引規模:頭部網際網路公司技術部落格公開的峰值QPS、索引文件數、端到端延遲P99等基準資料更新,以判斷行業技術進步斜率。
- 許可證法律更新與社群分叉動態:Elastic與AWS關於協議與分叉的重要公告,OpenSearch與Elasticsearch API偏離度的關鍵報告。
- 行業需求側PMI:一般通過CMO Survey或Gartner IT支出預測中“企業搜尋與分析”預算增/降速間接推斷。
信源
- 教科書:Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.(線上免費,覆蓋倒排索引、BM25及系統實現)
- 期刊:Robertson, S. E., & Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends® in Information Retrieval, 3(4), 333–389.
- 開源軟體文件:Elasticsearch Reference Documentation (8.x), Lucene Javadoc, OpenSearch Documentation (2.x)
- 市場資料:IDC, Worldwide Enterprise Search Software Forecast, 2024–2028 (2024); Gartner, Market Share: Database Management Systems, Worldwide, 2023; Statcounter GlobalStats – Search Engine Market Share
- 上市公司財務資料:Elastic N.V. 10-K/A FY2024; Amazon.com, Inc. 10-Q FY2024 Q4; Microsoft Corporation 10-K FY2024; Cloudflare, Inc. 10-Q FY2024 Q3
- 學術前沿:SIGIR 2024 Proceedings; CIKM 2024 Proceedings; Nogueira, R. & Cho, K. (2019) Passage Re-ranking with BERT(BERT精排前稀疏檢索的作用討論)
- 行業實踐:Etsy Engineering Blog “Boosting Discovery with Query Understanding” (2023);阿里巴巴技術部落格關於電商搜尋查詢重寫的公開分享 (2024);AWS OpenSearch 2.17 Release Notes
免責與時效說明:本文引用外部資料均基於2025年2月可公開獲取的版本,不可作為未來業績或趨勢的保證。公司財務數字的會計口徑與截止日差異已在文內標註。所有第三方機構預測與公告均可能後續更新,請以最新官方釋出為準。