FieldMatcher

sealed interface FieldMatcher

The matcher applied to a payload field inside a Condition.Field. Each variant maps to exactly one Qdrant condition block (match, range, values_count, geo_*), mirroring the Qdrant filter model.

Inheritors

Types

Link copied to clipboard
@Serializable
data class DatetimeRange(val gt: String? = null, val gte: String? = null, val lt: String? = null, val lte: String? = null) : FieldMatcher

RFC 3339 datetime range (range with string bounds).

Link copied to clipboard
@Serializable
data class GeoBoundingBox(val topLeft: GeoPoint, val bottomRight: GeoPoint) : FieldMatcher

Geographic bounding box (geo_bounding_box).

Link copied to clipboard
data class GeoPolygon(val exterior: List<GeoPoint>, val interiors: List<List<GeoPoint>> = emptyList()) : FieldMatcher

Geographic polygon (geo_polygon) with an exterior ring and optional interior holes. Each ring's first and last point must coincide (enforced by Qdrant, not here).

Link copied to clipboard
@Serializable
data class GeoRadius(val center: GeoPoint, val radius: Double) : FieldMatcher

Geographic radius in metres (geo_radius).

Link copied to clipboard
data class Match(val value: JsonPrimitive) : FieldMatcher

Exact value match (match.value).

Link copied to clipboard
data class MatchAny(val values: List<JsonPrimitive>) : FieldMatcher

Value-in-set match (match.any).

Link copied to clipboard
data class MatchExcept(val values: List<JsonPrimitive>) : FieldMatcher

Value-not-in-set match (match.except).

Link copied to clipboard
data class MatchPhrase(val text: String) : FieldMatcher

Exact phrase match (match.phrase).

Link copied to clipboard
data class MatchText(val text: String) : FieldMatcher

Full-text match, all tokens present (match.text).

Link copied to clipboard
data class MatchTextAny(val text: String) : FieldMatcher

Full-text match, any token present (match.text_any).

Link copied to clipboard
@Serializable
data class Range(val gt: Double? = null, val gte: Double? = null, val lt: Double? = null, val lte: Double? = null) : FieldMatcher

Numeric range (range).

Link copied to clipboard
@Serializable
data class ValuesCount(val gt: Int? = null, val gte: Int? = null, val lt: Int? = null, val lte: Int? = null) : FieldMatcher

Count of values in an array field (values_count).