Skip to main content

Semantic Search

Simili Bot uses semantic search to find related issues across your repositories based on meaning, not just keywords. This allows the bot to identify relationships that traditional keyword-based search would miss.

How it Works

Beyond Keywords

In a traditional search system, an issue titled “Login button doesn’t work” might be missed if you search for “authentication failures”. Semantic search bridges this gap by understanding the intent.
  • Traditional Search: Finds exact word matches (e.g., “Login” == “Login”).
  • Semantic Search: AI understands concepts (e.g., “Can’t sign in” ≈ “Auth failing”).

Search Backends

Simili Bot v0.2.0 offers three ways to perform these searches:

GitHub Native

Zero-config hybrid search using GitHub’s own infrastructure.

Qdrant

High-performance vector search for deep semantic analysis at scale.

BM25

Local keyword-based search for exact matches and error codes.

The Search Pipeline

When a new issue is processed, Simili Bot follows these steps:
1

Context Extraction

The bot extracts the title, body, and recent comments from the issue.
2

Candidate Search

The chosen backend (e.g., GitHub Native) returns the top 5-10 most similar historical issues.
3

LLM Verification

The bot sends these candidates to an LLM (Gemini or OpenAI) to confirm if any are actual duplicates or highly related.

Configuration

Tuning the search sensitivity is crucial for balancing noise and discovery.

Tuning Thresholds

The similarity_threshold determines how strict the bot is when suggesting related issues.

Configuration Example


Next Steps

Duplicate Detection

Search Backends