Keyword

@Serializable
@SerialName(value = "keyword")
data class Keyword(val isTenant: Boolean? = null, val onDisk: Boolean? = null, val prefix: Boolean? = null, val memory: Memory? = null, val enableHnsw: Boolean? = null) : PayloadIndexParams

A keyword index: exact matches on a string or a list of strings.

Constructors

Link copied to clipboard
constructor(isTenant: Boolean? = null, onDisk: Boolean? = null, prefix: Boolean? = null, memory: Memory? = null, enableHnsw: Boolean? = null)

Properties

Link copied to clipboard
@SerialName(value = "enable_hnsw")
open override val enableHnsw: Boolean?

Whether Qdrant builds the extra HNSW links for this field, which is what makes a filtered search over it read one tenant's or one category's points instead of walking the collection and discarding. It needs payloadM above zero on the HNSW config to do anything, so a caller who sets one without the other has asked for half of a multi-tenant layout.

Link copied to clipboard
@SerialName(value = "is_tenant")
val isTenant: Boolean?

tells Qdrant this field identifies a tenant, which makes it colocate one tenant's points on disk. The layout, not the filter, is what makes a multi-tenant collection fast; a filter on a non-tenant keyword field still reads the whole collection's pages.

Link copied to clipboard
@SerialName(value = "memory")
open override val memory: Memory?

Memory placement of the index. Overrides onDisk when both are set.

Link copied to clipboard
@SerialName(value = "on_disk")
open override val onDisk: Boolean?

Whether Qdrant keeps this index on disk instead of in RAM. null leaves the server's default.

Link copied to clipboard
@SerialName(value = "prefix")
val prefix: Boolean?

Serves match.prefix from this index. null leaves the server's default (off).