Browse the documentation

Full-text search

BM25-ranked keyword search over text fields.

What it does

Full-text search finds documents by the words they contain and ranks them by relevance, rather than matching a field exactly. It is part of the Community edition.

Under the hood: an in-memory inverted index with positional postings over one or more text fields, a default English stop-word list, and BM25 ranking.

// BM25 keyword index over one or more text fields
articles.CreateFullTextIndex(x => x.Title, x => x.Content);

// Ranked keyword search. Operators: +required, -excluded, "exact phrase"
var hits = articles.FullTextSearch("rotate +encryption -legacy", k: 10);

// Phrase match (adjacent terms only)
var exact = articles.FullTextSearch("\"encryption keys\"", k: 10);

Query language

SyntaxMeaning
rotate keysPlain terms: optional; documents matching more of them rank higher.
+encryptionRequired term.
-legacyExcluded term.
"encryption keys"Exact phrase: the terms must be adjacent.

Where else it is available

  • The Management UI's Search page Enterprise.
  • The MCP server's FullTextSearch tool, for AI agents Enterprise.

Things to know

  • Full-text indexes exist for document collections, not file collections.
  • There is one analyzer: English stop words, no stemming, synonyms or fuzzy matching. Language-aware analyzers are on the roadmap, subject to demand.
  • Full-text and vector results are not fused; an application that wants hybrid ranking combines them itself.
An unhandled error has occurred. Reload X

Reconnecting

Restoring the connection to the server...

Still trying

Next attempt in seconds

Connection lost

We could not reach the server.