Agentic Research

Full-Text Search(全文檢索)

又稱:全文檢索 · 全文搜索 · 關鍵字搜尋 · BM25 · keyword search

按「字面有沒有出現、出現幾次、有多稀有」來排序的傳統關鍵字檢索,代表算法是 BM25。它不懂意思,只數詞。

你會在什麼時候遇到它

它是向量檢索的互補,不是過時品。查一個確切的錯誤代碼、訂單編號、函式名、罕見專有名詞,向量檢索常常抓不準(因為這些詞在訓練資料裡稀少、embedding 分出差別),全文檢索反而一擊命中。做混合式檢索時,它負責「精確」那一半。

打個比方

像用 Ctrl+F 在一堆文件裡找字:你打什麼字,它就找什麼字,一字不差才命中。它不會「聯想」,你把「番茄」打成「西紅柿」它就找不到 —— 但這正是它的優點:要精確時,精確得可靠。

最小範例

查詢:「錯誤碼 ERR-4032 怎麼處理」

全文檢索(BM25):
  直接命中所有出現 "ERR-4032" 這串字的文件 → 精準

向量檢索:
  "ERR-4032" 是個罕見 token,embedding 幾乎沒學過,
  可能把它和 "ERR-4031"、"ERR-5000" 當成差不多 → 抓錯

實務:兩者一起用(混合式檢索),再用 rerank 收束

關鍵在這句:全文檢索命中「字」,向量檢索命中「意思」。錯誤代碼、型號、人名這類「字面對了才算對」的查詢,是全文檢索的主場。這也是為什麼成熟的 RAG 很少只用向量,幾乎都是混合式。

最常搞錯的地方

  • 以為「有了向量檢索就不需要關鍵字了」。恰恰相反:向量擅長意思相近,卻常在精確標識符上失手;兩者互補,不是取代。
  • 以為全文檢索「懂」你在找什麼。它完全不懂語義,只是統計詞頻與稀有度;所以同義改寫、錯字、語序不同,它都可能漏掉 —— 那是向量檢索的強項。

相關詞條

下一步