Full-text versus keyword indexing
A full-text payload index is designed for searching textual content by its words or tokens. It is useful when a query should match text content rather than require the entire payload value to equal a specific string.
A keyword index is intended for exact categorical matching. A field such as status=published or category=electronics should normally be treated as a keyword because the application cares about equality, not token-level text search.
The trade-off is search semantics and index behavior. Full-text indexing provides text-oriented matching but has to tokenize and process text, while keyword indexing is simpler for exact values. If a field needs both exact and full-text semantics, separate representations can be clearer than forcing one index to do both jobs.
A common mistake is assuming that a full-text payload index turns Qdrant into a general-purpose search engine. Its text capabilities are designed for payload filtering and should be evaluated against the application's language-analysis requirements.
Keyword matching is appropriate for exact categorical values
Full-text indexing supports tokenized text matching
Use separate representations when a field needs both exact and text semantics
Evaluate language-analysis requirements before treating Qdrant full-text search as a full search-engine replacement
A status field contains the exact value published. Would full-text matching add value here?
A document description should match queries containing relevant words. Why is keyword equality insufficient?
A product SKU sometimes contains hyphens and users need exact SKU lookup. Would you model it as full text? Why or why not?
A description field needs both exact identifier matching and natural-language search. How would you model the two use cases?
A multilingual text field requires stemming, language-specific tokenization, and synonyms. How would you decide whether Qdrant payload text indexing is sufficient?
A full-text payload index increases write cost on a high-throughput ingestion pipeline. How would you justify keeping it?
You are choosing between Qdrant payload text search and a dedicated search engine for a large product catalog. What query-language and relevance requirements would drive the architecture?
A platform wants one field representation to serve exact filtering, full-text search, and vector retrieval. How would you avoid semantic coupling between those workloads?