***

title: SearchEngine
slug: /reference/python/agents/search/search-engine
description: Hybrid search engine for vector and keyword search over indexed documents.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

[search]: /docs/server-sdks/reference/python/agents/search/search-engine/search

[getstats]: /docs/server-sdks/reference/python/agents/search/search-engine/get-stats

`SearchEngine` performs hybrid search over indexed documents by combining vector
similarity search with keyword matching, filename search, and metadata search.
Results from all search strategies are merged and ranked using a max-signal-wins
scoring approach, with diversity penalties to prevent single-file dominance.

The engine supports two storage backends: SQLite (`.swsearch` files) for local
use, and pgvector for PostgreSQL-based deployments.

```python
from signalwire.search import SearchEngine
```

<Warning>
  Requires search dependencies. Install with `pip install signalwire[search]`.
</Warning>

## **Properties**

<ParamField path="backend" type="str" toc={true}>
  Storage backend in use. Either `"sqlite"` or `"pgvector"`.
</ParamField>

<ParamField path="config" type="dict[str, str]" toc={true}>
  Index configuration loaded from the backend, including model name, embedding
  dimensions, and creation metadata.
</ParamField>

<ParamField path="embedding_dim" type="int" toc={true}>
  Dimensionality of the embedding vectors in the index. Defaults to `768`.
</ParamField>

<ParamField path="model" type="SentenceTransformer | None" toc={true}>
  Optional sentence transformer model instance passed at construction time.
</ParamField>

## **Methods**

<CardGroup cols={2}>
  <Card title="search" href="/docs/server-sdks/reference/python/agents/search/search-engine/search">
    Perform a hybrid search combining vector similarity, keyword matching, and metadata search.
  </Card>

  <Card title="get_stats" href="/docs/server-sdks/reference/python/agents/search/search-engine/get-stats">
    Return statistics about the search index.
  </Card>
</CardGroup>