mcpField
S
similarity-search-patterns

similarity-search-patterns

github.com/wshobsonData & databases41.9k10.8k installsUpdated 2w ago
Repository

About similarity-search-patterns

A skill covering production patterns for efficient similarity search, from distance metrics and index choices to tuning and evaluation. It supports teams building semantic search, retrieval, or recommendation systems.

Key features

  1. 01Distance metric selection
  2. 02Flat, HNSW, and IVF+PQ index guidance
  3. 03Recall and speed tuning
  4. 04Hybrid semantic and keyword search
  5. 05Search quality monitoring

Use cases

  1. 01Build semantic search systems
  2. 02Implement RAG retrieval
  3. 03Create recommendation engines
  4. 04Reduce search latency at scale

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/wshobson/agents --skill similarity-search-patterns

After installing, type/similarity-search-patternsin Claude Code to confirm it loaded.

Bundled filesreferences/details.md

Details

From the project README

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

Comments

Markdown supported