元數據過濾

Metadata Filtering

依元數據篩選檢索

詳細解釋

在向量搜索中,先根據結構化元數據(日期、類別、作者等)過濾,再在子集上進行語義搜索,提升準確率和效率。

典型應用:

  • 時間範圍:「2023 年的報告」
  • 類別:「僅技術文檔」
  • 作者:「張三的郵件」
  • 標籤:「#重要 且 #待處理」
  • 權限:「我能訪問的文件」

實現方式:

  • 預過濾:搜索前先篩選符合條件的文檔
  • 後過濾:搜索後過濾結果(效率低)
  • 混合索引:向量數據庫支持元數據索引(Pinecone、Milvus)
  • 分區:按元數據預分區,只在相關分區搜索

技術挑戰:

  • 複雜查詢:與邏輯(AND、OR、NOT)的組合
  • 性能:大量過濾條件下的搜索效率
  • 索引:元數據索引和向量索引的聯合優化
  • 動態更新:元數據變化時的實時更新

向量數據庫支持:

  • Pinecone:強大的元數據過濾
  • Weaviate:GraphQL 風格的複雜查詢
  • Milvus:布爾表達式過濾
  • Elasticsearch:傳統過濾 + 向量搜索

最佳實踐:

  • 索引策略:對常用過濾字段建立索引
  • 組合順序:先過濾減少搜索空間
  • 權限:提前過濾避免返回無權訪問的結果
  • 預計算:靜態過濾條件可預分區

這是「企業級 RAG」的必備功能—— 數據總有結構化屬性,純向量搜索不夠。

探索更多AI詞彙

查看所有分類,繼續學習AI知識