# Similarity Search Patterns > Implement efficient similarity search with vector databases. Use when building semantic search, implementing nearest neighbor queries, or optimizing retrieval performance. Source: https://skillsagentes.com/skills/wshobson/agents/similarity-search-patterns Repository: https://github.com/wshobson/agents Author: wshobson License: MIT Updated: hace 2 meses Context cost: 43 tok installed, 694 tok once triggered, 4.5k tok with every bundled file Bundle: 2 files, 18 KB Permissions requested: none declared ## Install ```bash npx -y skills add wshobson/agents --skill similarity-search-patterns --agent claude-code ``` ## What it does - Explica métricas de distancia (coseno, euclidiana, dot product, Manhattan) y cuándo usar cada una - Describe tipos de índice (Flat, HNSW, IVF+PQ) con sus tradeoffs de velocidad y recall - Da buenas prácticas para tuning, hybrid search, pre-filtrado y monitoreo de recall - Remite a references/details.md para templates y ejemplos detallados ## Use it when - Construir sistemas de búsqueda semántica - Implementar retrieval para RAG - Crear motores de recomendación - Optimizar latencia de búsqueda o escalar a millones de vectores ## What triggers it - "Ayúdame a elegir un índice vectorial para mi búsqueda semántica" - "¿Qué métrica de distancia debo usar para mis embeddings?" - "Necesito optimizar la latencia de mi RAG con millones de vectores" - "Cómo combinar búsqueda semántica y por palabras clave" ## Files - SKILL.md — 3 KB - references/details.md — 15 KB ## SKILL.md Reproduced verbatim from wshobson/agents under MIT. This section is the upstream document and is in English. # Similarity Search Patterns Patterns for implementing efficient similarity search in production systems. ## When to Use This Skill - Building semantic search systems - Implementing RAG retrieval - Creating recommendation engines - Optimizing search latency - Scaling to millions of vectors - Combining semantic and keyword search ## Core Concepts ### 1. Distance Metrics | Metric | Formula | Best For | | ------------------ | ------------------ | --------------------- | --- | -------------- | | **Cosine** | 1 - (A·B)/(‖A‖‖B‖) | Normalized embeddings | | **Euclidean (L2)** | √Σ(a-b)² | Raw embeddings | | **Dot Product** | A·B | Magnitude matters | | **Manhattan (L1)** | Σ | a-b | | Sparse vectors | ### 2. Index Types ``` ┌─────────────────────────────────────────────────┐ │ Index Types │ ├─────────────┬───────────────┬───────────────────┤ │ Flat │ HNSW │ IVF+PQ │ │ (Exact) │ (Graph-based) │ (Quantized) │ ├─────────────┼───────────────┼───────────────────┤ │ O(n) search │ O(log n) │ O(√n) │ │ 100% recall │ ~95-99% │ ~90-95% │ │ Small data │ Medium-Large │ Very Large │ └─────────────┴───────────────┴───────────────────┘ ``` ## Templates and detailed worked examples Full template library and detailed worked examples live in `references/details.md`. Read that file when you need the concrete templates. ## Best Practices ### Do's - **Use appropriate index** - HNSW for most cases - **Tune parameters** - ef_search, nprobe for recall/speed - **Implement hybrid search** - Combine with keyword search - **Monitor recall** - Measure search quality - **Pre-filter when possible** - Reduce search space ### Don'ts - **Don't skip evaluation** - Measure before optimizing - **Don't over-index** - Start with flat, scale up - **Don't ignore latency** - P99 matters for UX - **Don't forget costs** - Vector storage adds up --- Skills Agentes — https://skillsagentes.com/skills/wshobson/agents/similarity-search-patterns