> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# Search

> Build, query, and manage vector search indexes for agent knowledge bases.

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

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

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

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

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

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

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

The Search module provides local vector search capabilities for building knowledge bases
that power SignalWire AI agents. It supports hybrid search combining vector similarity
with keyword matching, multiple document formats, configurable chunking strategies,
and both SQLite and PostgreSQL (pgvector) storage backends.

> **Warning**
>
> The search module requires additional dependencies not included in the base SDK install.
> Choose the install level that matches your use case:
>
> ```bash
> pip install signalwire-sdk[search]           # Basic search (~500MB)
> pip install signalwire-sdk[search-full]      # + Document processing (~600MB)
> pip install signalwire-sdk[search-nlp]       # + Advanced NLP features (~600MB)
> pip install signalwire-sdk[search-all]       # All search features (~700MB)
> ```
>
> For querying pre-built `.swsearch` indexes only (smallest footprint):
>
> ```bash
> pip install signalwire-sdk[search-queryonly]  # ~400MB
> ```

All classes and functions are imported from the `signalwire.search` namespace:

```python
from signalwire.search import (
    SearchEngine,
    DocumentProcessor,
    IndexBuilder,
    SearchService,
    SearchIndexMigrator,
    preprocess_query,
    preprocess_document_content,
    resolve_model_alias,
    MODEL_ALIASES,
    DEFAULT_MODEL,
)
```

If the required dependencies are not installed, importing these names will raise an
`ImportError` with a message indicating which packages are missing.

> **Info**
>
> The `sw-search` CLI tool provides command-line access to index building, validation,
> and querying. See the [sw-search CLI reference][sw-search-cli-reference]
> for details.

## **Learn More**

#### [SearchEngine](/docs/server-sdks/reference/python/agents/search/search-engine)

Hybrid search engine combining vector similarity with keyword matching.

#### [DocumentProcessor](/docs/server-sdks/reference/python/agents/search/document-processor)

Process and chunk documents for indexing with multiple strategies.

#### [IndexBuilder](/docs/server-sdks/reference/python/agents/search/index-builder)

Build searchable indexes from document directories.

#### [SearchService](/docs/server-sdks/reference/python/agents/search/search-service)

HTTP API service for serving search queries with authentication and caching.

#### [SearchIndexMigrator](/docs/server-sdks/reference/python/agents/search/migrator)

Migrate search indexes between SQLite and pgvector backends.

#### [Helper Functions](/docs/server-sdks/reference/python/agents/search/helpers)

Query preprocessing, document preprocessing, model alias resolution, and constants.