PayloadIndexParams
The parameters Qdrant accepts beside the index type, one shape per type.
PayloadSchemaType names the kind of index; this names how it is built. Two of the choices decide whether a query works at all rather than how fast it is: a matchPhrase filter matches nothing unless the text index was created with Text.phraseMatching, and an index built without Keyword.isTenant leaves a multi-tenant collection's points scattered across the disk rather than grouped per tenant. The rest are cost: onDisk is the difference between an index that has to fit in RAM and one that does not.
Build one with the DSL rather than by hand:
qdrant.createPayloadIndex("docs", "body") {
text { tokenizer = Tokenizer.WORD; phraseMatching = true }
}Qdrant takes two further text options this does not model, stopword sets and stemming, because both are sub-objects with their own vocabulary rather than a flag. They are the reason this type is a sealed hierarchy that can grow a field without breaking a caller.
Inheritors
Types
A boolean index.
A datetime index, for datetimeRange filters. See Integer.isPrincipal.
A float index. See Integer.isPrincipal for what isPrincipal decides.
A geo index, for geoRadius, geoBoundingBox and geoPolygon filters.
A keyword index: exact matches on a string or a list of strings.
A full-text index, for matchText, matchTextAny and matchPhrase.
A UUID index. See Keyword.isTenant for what isTenant decides.