Fulltext Retriever

What's a Fulltext Retriever?

Fulltext Retriever uses a data store with fulltext capability to retrieve documents by keyword and fulltext search. Unlike a vector retriever, it matches on lexical and term-based signals (e.g., BM25, by-field, fuzzy) rather than semantic embeddings.

Best For:

  • Keyword and phrase search.

  • Exact or fuzzy term matching.

  • Filter-only retrieval (no query text).

  • Backends that support fulltext (e.g., Elasticsearch).

Key Features:

  • Single-query or batch-query retrieval.

  • Optional filters (metadata, field conditions).

  • Strategy and parameters configurable via kwargs (e.g., BM25 k1, b).

  • Returns Chunk lists with relevance scores.

Use Cases:

  • Product or document search by keywords.

  • Filtered retrieval without a search string.

  • Combining with vector search in hybrid setups (when hybrid retriever is available).

chevron-rightPrerequisiteshashtag

You should be familiar with:

  1. Data Store and the fulltext capability.

  2. A data store backend that supports fulltext (e.g., Elasticsearch with fulltext).

Installation

What it does

The Fulltext Retriever performs retrieval using the data store's fulltext capability. You can pass a single query string, a list of queries (batch), or no query and rely on filters only. Results are returned as Chunk objects with scores.

Basic usage

Last updated

Was this helpful?