> ## Documentation Index
> Fetch the complete documentation index at: https://simili.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Backends

> Choosing the right similarity search engine for your organization

# Search Backends

Simili Bot v0.2.0 offers a flexible search layer. You can choose from three distinct backends depending on your needs for speed, accuracy, and infrastructure overhead.

## Backend Comparison

| Feature           | GitHub Native               | Qdrant                  | BM25                    |
| :---------------- | :-------------------------- | :---------------------- | :---------------------- |
| **Setup Type**    | Zero-Config                 | Advanced                | Built-in                |
| **Search Type**   | Hybrid (Semantic + Keyword) | Dense Vector (Semantic) | Sparse Vector (Keyword) |
| **External VDB**  | Not Required                | Required                | Not Required            |
| **Embedding API** | Not Required                | Required                | Not Required            |
| **Accuracy**      | High                        | Very High               | Medium                  |
| **Scale**         | Repo-level                  | Organization-wide       | Repo-level              |

***

## 1. GitHub Native (Recommended for Start)

The `github_native` backend uses GitHub's internal search infrastructure. It is a **Zero-Config** option that requires no external databases or embedding API keys for the search phase.

**Best for:** Most teams starting with Simili Bot.

```yaml theme={null}
search:
  backend: "github_native"
  bm25_fallback: true
```

*Note: While search is zero-config, the LLM triage and verification steps still require a `GEMINI_API_KEY` or `OPENAI_API_KEY`.*

## 2. Qdrant (Recommended for Scale)

The `qdrant` backend uses a dedicated vector database. It provides the highest accuracy for deep semantic relationships and is designed for organization-wide discovery.

**Best for:** Large organizations with thousands of issues across many repositories.

```yaml theme={null}
search:
  backend: "qdrant"
```

**Requirements:**

* A [Qdrant](https://qdrant.tech/) instance (Cloud or Self-hosted).
* An embedding provider (Gemini or OpenAI) configured in the `embedding:` block.

## 3. BM25 (Keyword-Based)

BM25 is a classic ranking function used by search engines to estimate the relevance of documents to a given search query.

**Best for:** Finding exact error codes, specific technical terms, or as a local fallback.

```yaml theme={null}
search:
  backend: "bm25"
```

***

## Hybrid Search & Fallbacks

Simili Bot allows you to combine backends for maximum reliability.

### BM25 Fallback

Enable `bm25_fallback` to ensure that if the primary backend (Qdrant or GitHub Native) fails or returns zero results, the bot performs a local keyword search.

```yaml theme={null}
search:
  backend: "github_native"
  bm25_fallback: true
```

### Cold Start with `learn`

If you are using the **Qdrant** backend for routing, use the `simili learn` command to index your repository documentation. This helps the bot route issues correctly even when no historical issues are present.

<Card title="Learn Command" icon="graduation-cap" href="/reference/cli/learn-command">
  Discover how to index repo docs for semantic routing.
</Card>
