AgentsSearch

SearchEngine

View as MarkdownOpen in Claude

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.

1from signalwire.search import SearchEngine

Requires search dependencies. Install with pip install signalwire[search].

Properties

backend
str

Storage backend in use. Either "sqlite" or "pgvector".

config
dict[str, str]

Index configuration loaded from the backend, including model name, embedding dimensions, and creation metadata.

embedding_dim
int

Dimensionality of the embedding vectors in the index. Defaults to 768.

model
SentenceTransformer | None

Optional sentence transformer model instance passed at construction time.

Methods