cloudparts

Full-text search with relevance ranking

Finding the documents that best match a few words, with stemming and typo tolerance, and returning the best ones first.

What it asks of a system

Full-text search is not LIKE '%word%'. The text is split into tokens and normalized (lower-cased, stemmed so “satisfies” matches “satisfy”, stop words dropped), and an inverted index maps each term to the documents that contain it. At query time the engine scores every match, by default with BM25, which weighs how often a term appears in a document against how common it is across all documents, so the most relevant results come first rather than in table order.

To tell whether a system really handles it, check which languages its analyzers support, whether it ranks results or only filters them, whether it handles phrases, typos, synonyms and facets, and how quickly a new or changed document becomes searchable. At scale, look at how the index is sharded and replicated and whether you can combine text relevance with filters and other signals such as recency.

Good at it · 7

Compare side by side

Search indexes

Sources

Why each technology is listed comes from the sources on its own page.