Yandex Tech’s YDB 26.3 combines ranked full-text and vector search in one SQL query, with BM25 scoring and transactional index updates.
Yandex Tech announced on October 2 that YDB 26.3 adds ranked full-text search and hybrid search, allowing lexical and vector results to be combined in a single SQL query. The company also improved YDB’s filtered vector index. It presents the capabilities for search systems, retrieval-augmented generation applications and recommendations that need to handle both exact identifiers and natural-language meaning.
The two search methods address different types of queries. Vector search compares embeddings and can retrieve passages that express the same idea in different words, but a rare surname, product code or policy number may not appear among its leading results. Full-text search matches query words and can normalize word forms through stemming, but it does not treat synonyms as equivalent. Hybrid retrieval can handle a query containing both an exact identifier and a semantic description.
YDB implements both indexes as internal tables within the database. According to Yandex Tech, they use YDB’s existing partitioning, read replicas, redundancy and hardware-failure recovery mechanisms. The indexes are updated in the same transaction as the underlying data, while the query planner accesses the index tables and source rows within one query. This removes the need for a separate ETL path and the associated delay before newly written data becomes searchable.
The full-text engine uses a distributed inverted index. When data is written, YDB tokenizes the text, can convert terms to lowercase and optionally applies stemming. It stores compressed document lists and the statistics needed for relevance scoring. The open-source edition uses Snowball stemming; Yandex Cloud customers and Enterprise edition users can also use Yandex’s morphology technology.
Two full-text index types offer different storage, update and ranking characteristics. fulltext_plain stores posting lists for document selection through FulltextMatch. fulltext_relevance also stores frequency statistics and supports FulltextScore with BM25 ranking, which considers term frequency, document length and a term’s rarity across the collection. Maintaining those statistics requires more space and makes record updates slower.
The indexes behave differently as data changes. Full-text posting lists are updated immediately after INSERT, UPDATE and DELETE operations. The vector index remains approximate: new rows are assigned to existing clusters, but their centroids are not recalculated. As the data distribution changes, the cluster tree can become unbalanced and recall can decline. When that decline becomes noticeable, the developers recommend building a new index alongside the existing one and replacing the old index atomically.
The practical effect is a smaller application-side search stack: teams can combine lexical and semantic retrieval within YDB rather than merging two result sets in their own code. The release does not eliminate tuning trade-offs. N-grams enable substring search but enlarge the index and slow writes, while the approximate vector component still requires recall monitoring and rebuilding when the underlying data distribution shifts.
| Index type | Purpose | Characteristic |
|---|---|---|
| fulltext_plain | Document selection through FulltextMatch | Uses less space and updates faster |
| fulltext_relevance | Selection and ranking through FulltextScore | Stores BM25 statistics; writes are slower |
Sources
Originally published by AI Feed: YDB 26.3 Adds Full-Text and Hybrid Search to SQL.
Top comments (0)