metadata filtering
Metadata filtering pre-filters documents by metadata attributes before semantic search for efficient, targeted retrieval. **Common filters**: Date ranges (recency), document type (PDF, webpage), source/author, categories/tags, access permissions, language. **Implementation**: Store metadata alongside embeddings in vector DB, apply filters to narrow candidate set, then semantic search within filtered subset. **Efficiency benefit**: Reduces search space, faster queries, more relevant results. **Filter types**: Exact match (source="docs"), range (date > 2023), inclusion (tags contains "python"), compound (AND/OR combinations). **Query translation**: Parse user query for implicit filters ("latest" → date sort, "from arxiv" → source filter). **Use cases**: Multi-tenant isolation, time-sensitive queries, domain-specific subsets, permission-based access. **Vector DB support**: All major vector databases support metadata filtering (Pinecone, Weaviate, Qdrant, etc.). **Best practices**: Index important metadata fields, avoid over-filtering (may exclude relevant docs), combine with hybrid search. Essential for production RAG systems with diverse document collections.