removedInput schema / $defs / DatetimeRange
Removed value: -{
- "additionalProperties": false,
- "description": "Range filter request",
- "properties": {
- "gt": {
- "anyOf": [
- {
- "format": "date-time",
- "type": "string"
- },
- {
- "format": "date",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key > range.gt",
- "title": "Gt"
- },
- "gte": {
- "anyOf": [
- {
- "format": "date-time",
- "type": "string"
- },
- {
- "format": "date",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key >= range.gte",
- "title": "Gte"
- },
- "lt": {
- "anyOf": [
- {
- "format": "date-time",
- "type": "string"
- },
- {
- "format": "date",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key < range.lt",
- "title": "Lt"
- },
- "lte": {
- "anyOf": [
- {
- "format": "date-time",
- "type": "string"
- },
- {
- "format": "date",
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key <= range.lte",
- "title": "Lte"
- }
- },
- "title": "DatetimeRange",
- "type": "object"
-}
addedInput schema / $defs / Direction
Added value: +{
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "title": "Direction",
+ "type": "string"
+}
removedInput schema / $defs / FieldCondition
Removed value: -{
- "additionalProperties": false,
- "description": "All possible payload filtering conditions",
- "properties": {
- "geo_bounding_box": {
- "anyOf": [
- {
- "$ref": "#/$defs/GeoBoundingBox"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Check if points geolocation lies in a given area"
- },
- "geo_polygon": {
- "anyOf": [
- {
- "$ref": "#/$defs/GeoPolygon"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Check if geo point is within a given polygon"
- },
- "geo_radius": {
- "anyOf": [
- {
- "$ref": "#/$defs/GeoRadius"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Check if geo point is within a given radius"
- },
- "is_empty": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Check that the field is empty, alternative syntax for `is_empty: 'field_name'`",
- "title": "Is Empty"
- },
- "is_null": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Check that the field is null, alternative syntax for `is_null: 'field_name'`",
- "title": "Is Null"
- },
- "key": {
- "description": "Payload key",
- "title": "Key",
- "type": "string"
- },
- "match": {
- "anyOf": [
- {
- "$ref": "#/$defs/MatchValue"
- },
- {
- "$ref": "#/$defs/MatchText"
- },
- {
- "$ref": "#/$defs/MatchTextAny"
- },
- {
- "$ref": "#/$defs/MatchPhrase"
- },
- {
- "$ref": "#/$defs/MatchPrefix"
- },
- {
- "$ref": "#/$defs/MatchAny"
- },
- {
- "$ref": "#/$defs/MatchExcept"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Check if point has field with a given value",
- "title": "Match"
- },
- "range": {
- "anyOf": [
- {
- "$ref": "#/$defs/Range"
- },
- {
- "$ref": "#/$defs/DatetimeRange"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Check if points value lies in a given range",
- "title": "Range"
- },
- "values_count": {
- "anyOf": [
- {
- "$ref": "#/$defs/ValuesCount"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Check number of values of the field"
- }
- },
- "required": [
- "key"
- ],
- "title": "FieldCondition",
- "type": "object"
-}
removedInput schema / $defs / Filter
Removed value: -{
- "additionalProperties": false,
- "properties": {
- "min_should": {
- "anyOf": [
- {
- "$ref": "#/$defs/MinShould"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "At least minimum amount of given conditions should match"
- },
- "must": {
- "anyOf": [
- {
- "items": {
- "anyOf": [
- {
- "$ref": "#/$defs/FieldCondition"
- },
- {
- "$ref": "#/$defs/IsEmptyCondition"
- },
- {
- "$ref": "#/$defs/IsNullCondition"
- },
- {
- "$ref": "#/$defs/HasIdCondition"
- },
- {
- "$ref": "#/$defs/HasVectorCondition"
- },
- {
- "$ref": "#/$defs/SliceCondition"
- },
- {
- "$ref": "#/$defs/NestedCondition"
- },
- {
- "$ref": "#/$defs/Filter"
- }
- ]
- },
- "type": "array"
- },
- {
- "$ref": "#/$defs/FieldCondition"
- },
- {
- "$ref": "#/$defs/IsEmptyCondition"
- },
- {
- "$ref": "#/$defs/IsNullCondition"
- },
- {
- "$ref": "#/$defs/HasIdCondition"
- },
- {
- "$ref": "#/$defs/HasVectorCondition"
- },
- {
- "$ref": "#/$defs/SliceCondition"
- },
- {
- "$ref": "#/$defs/NestedCondition"
- },
- {
- "$ref": "#/$defs/Filter"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "All conditions must match",
- "title": "Must"
- },
- "must_not": {
- "anyOf": [
- {
- "items": {
- "anyOf": [
- {
- "$ref": "#/$defs/FieldCondition"
- },
- {
- "$ref": "#/$defs/IsEmptyCondition"
- },
- {
- "$ref": "#/$defs/IsNullCondition"
- },
- {
- "$ref": "#/$defs/HasIdCondition"
- },
- {
- "$ref": "#/$defs/HasVectorCondition"
- },
- {
- "$ref": "#/$defs/SliceCondition"
- },
- {
- "$ref": "#/$defs/NestedCondition"
- },
- {
- "$ref": "#/$defs/Filter"
- }
- ]
- },
- "type": "array"
- },
- {
- "$ref": "#/$defs/FieldCondition"
- },
- {
- "$ref": "#/$defs/IsEmptyCondition"
- },
- {
- "$ref": "#/$defs/IsNullCondition"
- },
- {
- "$ref": "#/$defs/HasIdCondition"
- },
- {
- "$ref": "#/$defs/HasVectorCondition"
- },
- {
- "$ref": "#/$defs/SliceCondition"
- },
- {
- "$ref": "#/$defs/NestedCondition"
- },
- {
- "$ref": "#/$defs/Filter"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "All conditions must NOT match",
- "title": "Must Not"
- },
- "should": {
- "anyOf": [
- {
- "items": {
- "anyOf": [
- {
- "$ref": "#/$defs/FieldCondition"
- },
- {
- "$ref": "#/$defs/IsEmptyCondition"
- },
- {
- "$ref": "#/$defs/IsNullCondition"
- },
- {
- "$ref": "#/$defs/HasIdCondition"
- },
- {
- "$ref": "#/$defs/HasVectorCondition"
- },
- {
- "$ref": "#/$defs/SliceCondition"
- },
- {
- "$ref": "#/$defs/NestedCondition"
- },
- {
- "$ref": "#/$defs/Filter"
- }
- ]
- },
- "type": "array"
- },
- {
- "$ref": "#/$defs/FieldCondition"
- },
- {
- "$ref": "#/$defs/IsEmptyCondition"
- },
- {
- "$ref": "#/$defs/IsNullCondition"
- },
- {
- "$ref": "#/$defs/HasIdCondition"
- },
- {
- "$ref": "#/$defs/HasVectorCondition"
- },
- {
- "$ref": "#/$defs/SliceCondition"
- },
- {
- "$ref": "#/$defs/NestedCondition"
- },
- {
- "$ref": "#/$defs/Filter"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "At least one of those conditions should match",
- "title": "Should"
- }
- },
- "title": "Filter",
- "type": "object"
-}
removedInput schema / $defs / GeoBoundingBox
Removed value: -{
- "additionalProperties": false,
- "description": "Geo filter request Matches coordinates inside the rectangle, described by coordinates of lop-left and bottom-right edges",
- "properties": {
- "bottom_right": {
- "$ref": "#/$defs/GeoPoint",
- "description": "Geo filter request Matches coordinates inside the rectangle, described by coordinates of lop-left and bottom-right edges"
- },
- "top_left": {
- "$ref": "#/$defs/GeoPoint",
- "description": "Geo filter request Matches coordinates inside the rectangle, described by coordinates of lop-left and bottom-right edges"
- }
- },
- "required": [
- "top_left",
- "bottom_right"
- ],
- "title": "GeoBoundingBox",
- "type": "object"
-}
removedInput schema / $defs / GeoLineString
Removed value: -{
- "additionalProperties": false,
- "description": "Ordered sequence of GeoPoints representing the line",
- "properties": {
- "points": {
- "description": "Ordered sequence of GeoPoints representing the line",
- "items": {
- "$ref": "#/$defs/GeoPoint"
- },
- "title": "Points",
- "type": "array"
- }
- },
- "required": [
- "points"
- ],
- "title": "GeoLineString",
- "type": "object"
-}
removedInput schema / $defs / GeoPoint
Removed value: -{
- "additionalProperties": false,
- "description": "Geo point payload schema",
- "properties": {
- "lat": {
- "description": "Geo point payload schema",
- "title": "Lat",
- "type": "number"
- },
- "lon": {
- "description": "Geo point payload schema",
- "title": "Lon",
- "type": "number"
- }
- },
- "required": [
- "lon",
- "lat"
- ],
- "title": "GeoPoint",
- "type": "object"
-}
removedInput schema / $defs / GeoPolygon
Removed value: -{
- "additionalProperties": false,
- "description": "Geo filter request Matches coordinates inside the polygon, defined by `exterior` and `interiors`",
- "properties": {
- "exterior": {
- "$ref": "#/$defs/GeoLineString",
- "description": "Geo filter request Matches coordinates inside the polygon, defined by `exterior` and `interiors`"
- },
- "interiors": {
- "anyOf": [
- {
- "items": {
- "$ref": "#/$defs/GeoLineString"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "Interior lines (if present) bound holes within the surface each GeoLineString must consist of a minimum of 4 points, and the first and last points must be the same.",
- "title": "Interiors"
- }
- },
- "required": [
- "exterior"
- ],
- "title": "GeoPolygon",
- "type": "object"
-}
removedInput schema / $defs / GeoRadius
Removed value: -{
- "additionalProperties": false,
- "description": "Geo filter request Matches coordinates inside the circle of `radius` and center with coordinates `center`",
- "properties": {
- "center": {
- "$ref": "#/$defs/GeoPoint",
- "description": "Geo filter request Matches coordinates inside the circle of `radius` and center with coordinates `center`"
- },
- "radius": {
- "description": "Radius of the area in meters",
- "title": "Radius",
- "type": "number"
- }
- },
- "required": [
- "center",
- "radius"
- ],
- "title": "GeoRadius",
- "type": "object"
-}
removedInput schema / $defs / HasIdCondition
Removed value: -{
- "additionalProperties": false,
- "description": "ID-based filtering condition",
- "properties": {
- "has_id": {
- "description": "ID-based filtering condition",
- "items": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "string"
- },
- {
- "format": "uuid",
- "type": "string"
- }
- ]
- },
- "title": "Has Id",
- "type": "array"
- }
- },
- "required": [
- "has_id"
- ],
- "title": "HasIdCondition",
- "type": "object"
-}
removedInput schema / $defs / HasVectorCondition
Removed value: -{
- "additionalProperties": false,
- "description": "Filter points which have specific vector assigned",
- "properties": {
- "has_vector": {
- "description": "Filter points which have specific vector assigned",
- "title": "Has Vector",
- "type": "string"
- }
- },
- "required": [
- "has_vector"
- ],
- "title": "HasVectorCondition",
- "type": "object"
-}
removedInput schema / $defs / IsEmptyCondition
Removed value: -{
- "additionalProperties": false,
- "description": "Select points with empty payload for a specified field",
- "properties": {
- "is_empty": {
- "$ref": "#/$defs/PayloadField",
- "description": "Select points with empty payload for a specified field"
- }
- },
- "required": [
- "is_empty"
- ],
- "title": "IsEmptyCondition",
- "type": "object"
-}
removedInput schema / $defs / IsNullCondition
Removed value: -{
- "additionalProperties": false,
- "description": "Select points with null payload for a specified field",
- "properties": {
- "is_null": {
- "$ref": "#/$defs/PayloadField",
- "description": "Select points with null payload for a specified field"
- }
- },
- "required": [
- "is_null"
- ],
- "title": "IsNullCondition",
- "type": "object"
-}
removedInput schema / $defs / MatchAny
Removed value: -{
- "additionalProperties": false,
- "description": "Exact match on any of the given values",
- "properties": {
- "any": {
- "anyOf": [
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "items": {
- "type": "integer"
- },
- "type": "array"
- }
- ],
- "description": "Exact match on any of the given values",
- "title": "Any"
- }
- },
- "required": [
- "any"
- ],
- "title": "MatchAny",
- "type": "object"
-}
removedInput schema / $defs / MatchExcept
Removed value: -{
- "additionalProperties": false,
- "description": "Should have at least one value not matching the any given values",
- "properties": {
- "except": {
- "anyOf": [
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "items": {
- "type": "integer"
- },
- "type": "array"
- }
- ],
- "description": "Should have at least one value not matching the any given values",
- "title": "Except"
- }
- },
- "required": [
- "except"
- ],
- "title": "MatchExcept",
- "type": "object"
-}
removedInput schema / $defs / MatchPhrase
Removed value: -{
- "additionalProperties": false,
- "description": "Full-text phrase match of the string.",
- "properties": {
- "phrase": {
- "description": "Full-text phrase match of the string.",
- "title": "Phrase",
- "type": "string"
- }
- },
- "required": [
- "phrase"
- ],
- "title": "MatchPhrase",
- "type": "object"
-}
removedInput schema / $defs / MatchPrefix
Removed value: -{
- "additionalProperties": false,
- "description": "Match keyword values that start with the given string. Byte-wise (hence, for valid UTF-8, character-wise) and case-sensitive, consistent with exact keyword matching. Served efficiently by a keyword index created with the `prefix` option.",
- "properties": {
- "prefix": {
- "description": "Match keyword values that start with the given string. Byte-wise (hence, for valid UTF-8, character-wise) and case-sensitive, consistent with exact keyword matching. Served efficiently by a keyword index created with the `prefix` option.",
- "title": "Prefix",
- "type": "string"
- }
- },
- "required": [
- "prefix"
- ],
- "title": "MatchPrefix",
- "type": "object"
-}
removedInput schema / $defs / MatchText
Removed value: -{
- "additionalProperties": false,
- "description": "Full-text match of the strings.",
- "properties": {
- "text": {
- "description": "Full-text match of the strings.",
- "title": "Text",
- "type": "string"
- }
- },
- "required": [
- "text"
- ],
- "title": "MatchText",
- "type": "object"
-}
removedInput schema / $defs / MatchTextAny
Removed value: -{
- "additionalProperties": false,
- "description": "Full-text match of at least one token of the string.",
- "properties": {
- "text_any": {
- "description": "Full-text match of at least one token of the string.",
- "title": "Text Any",
- "type": "string"
- }
- },
- "required": [
- "text_any"
- ],
- "title": "MatchTextAny",
- "type": "object"
-}
removedInput schema / $defs / MatchValue
Removed value: -{
- "additionalProperties": false,
- "description": "Exact match of the given value",
- "properties": {
- "value": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "integer"
- },
- {
- "type": "string"
- }
- ],
- "description": "Exact match of the given value",
- "title": "Value"
- }
- },
- "required": [
- "value"
- ],
- "title": "MatchValue",
- "type": "object"
-}
removedInput schema / $defs / MinShould
Removed value: -{
- "additionalProperties": false,
- "properties": {
- "conditions": {
- "description": "",
- "items": {
- "anyOf": [
- {
- "$ref": "#/$defs/FieldCondition"
- },
- {
- "$ref": "#/$defs/IsEmptyCondition"
- },
- {
- "$ref": "#/$defs/IsNullCondition"
- },
- {
- "$ref": "#/$defs/HasIdCondition"
- },
- {
- "$ref": "#/$defs/HasVectorCondition"
- },
- {
- "$ref": "#/$defs/SliceCondition"
- },
- {
- "$ref": "#/$defs/NestedCondition"
- },
- {
- "$ref": "#/$defs/Filter"
- }
- ]
- },
- "title": "Conditions",
- "type": "array"
- },
- "min_count": {
- "description": "",
- "title": "Min Count",
- "type": "integer"
- }
- },
- "required": [
- "conditions",
- "min_count"
- ],
- "title": "MinShould",
- "type": "object"
-}
removedInput schema / $defs / Nested
Removed value: -{
- "additionalProperties": false,
- "description": "Select points with payload for a specified nested field",
- "properties": {
- "filter": {
- "$ref": "#/$defs/Filter",
- "description": "Select points with payload for a specified nested field"
- },
- "key": {
- "description": "Select points with payload for a specified nested field",
- "title": "Key",
- "type": "string"
- }
- },
- "required": [
- "key",
- "filter"
- ],
- "title": "Nested",
- "type": "object"
-}
removedInput schema / $defs / NestedCondition
Removed value: -{
- "additionalProperties": false,
- "properties": {
- "nested": {
- "$ref": "#/$defs/Nested",
- "description": ""
- }
- },
- "required": [
- "nested"
- ],
- "title": "NestedCondition",
- "type": "object"
-}
addedInput schema / $defs / OrderBy
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "direction": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/Direction"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Direction of ordering: `asc` or `desc`. Default is ascending."
+ },
+ "key": {
+ "description": "Payload key to order by",
+ "title": "Key",
+ "type": "string"
+ },
+ "start_from": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "format": "date-time",
+ "type": "string"
+ },
+ {
+ "format": "date",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Which payload value to start scrolling from. Default is the lowest value for `asc` and the highest for `desc`",
+ "title": "Start From"
+ }
+ },
+ "required": [
+ "key"
+ ],
+ "title": "OrderBy",
+ "type": "object"
+}
removedInput schema / $defs / PayloadField
Removed value: -{
- "additionalProperties": false,
- "description": "Payload field",
- "properties": {
- "key": {
- "description": "Payload field name",
- "title": "Key",
- "type": "string"
- }
- },
- "required": [
- "key"
- ],
- "title": "PayloadField",
- "type": "object"
-}
removedInput schema / $defs / Range
Removed value: -{
- "additionalProperties": false,
- "description": "Range filter request",
- "properties": {
- "gt": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key > range.gt",
- "title": "Gt"
- },
- "gte": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key >= range.gte",
- "title": "Gte"
- },
- "lt": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key < range.lt",
- "title": "Lt"
- },
- "lte": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key <= range.lte",
- "title": "Lte"
- }
- },
- "title": "Range",
- "type": "object"
-}
removedInput schema / $defs / Slice
Removed value: -{
- "additionalProperties": false,
- "description": "One of `total` disjoint deterministic slices of the id space. A point belongs to the slice iff `hash(id) % total == index`, where `hash` is SipHash-2-4 with a zero key over the canonical id bytes: 8 little-endian bytes for numeric ids, the 16 RFC 4122 bytes for UUIDs. For a fixed `total`, slices `0..total` are disjoint and together cover all points; membership is uniform regardless of the id scheme and stable across queries, segments, platforms and Qdrant versions. Slices with different `total` values are correlated (same hash, no salt): e.g. slice `0` of `total: 4` is a strict subset of slice `0` of `total: 2`. This keeps a smaller sample contained in a larger one.",
- "properties": {
- "index": {
- "description": "Which slice to select, must be in `0..total`",
- "title": "Index",
- "type": "integer"
- },
- "total": {
- "description": "Total number of disjoint slices the id space is split into",
- "title": "Total",
- "type": "integer"
- }
- },
- "required": [
- "total",
- "index"
- ],
- "title": "Slice",
- "type": "object"
-}
removedInput schema / $defs / SliceCondition
Removed value: -{
- "additionalProperties": false,
- "description": "Select points that fall into one of `total` disjoint deterministic slices of the id space, for parallel scans and reproducible sampling.",
- "properties": {
- "slice": {
- "$ref": "#/$defs/Slice",
- "description": "Select points that fall into one of `total` disjoint deterministic slices of the id space, for parallel scans and reproducible sampling."
- }
- },
- "required": [
- "slice"
- ],
- "title": "SliceCondition",
- "type": "object"
-}
removedInput schema / $defs / ValuesCount
Removed value: -{
- "additionalProperties": false,
- "description": "Values count filter request",
- "properties": {
- "gt": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key.length() > values_count.gt",
- "title": "Gt"
- },
- "gte": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key.length() >= values_count.gte",
- "title": "Gte"
- },
- "lt": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key.length() < values_count.lt",
- "title": "Lt"
- },
- "lte": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "description": "point.key.length() <= values_count.lte",
- "title": "Lte"
- }
- },
- "title": "ValuesCount",
- "type": "object"
-}
addedInput schema / properties / order_by
Added value: +{
+ "anyOf": [
+ {
+ "$ref": "#/$defs/OrderBy"
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Order By"
+}
changedInput schema / properties / scroll_filter / anyOf
Previous value: -[
- {
- "$ref": "#/$defs/Filter"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "Qdrant payload filter. Combine conditions with `must` (all hold), `should` (any holds), `must_not` (none holds) or `min_should` ({conditions, min_count}); each takes a list of conditions or a single one. A condition is one of: {\"key\": k, \"match\": M} where M is exactly one of {\"value\": v}, {\"any\": [..]}, {\"except\": [..]}, {\"text\": s}, {\"text_any\": s}, {\"phrase\": s}, {\"prefix\": s}; {\"key\": k, \"range\": {\"lt\"|\"lte\"|\"gt\"|\"gte\": number or datetime}}; {\"key\": k, \"values_count\": {\"lt\"|\"lte\"|\"gt\"|\"gte\": n}}; {\"key\": k, \"geo_radius\": {\"center\": {\"lat\", \"lon\"}, \"radius\": meters}}; {\"key\": k, \"geo_bounding_box\": {\"top_left\", \"bottom_right\"}}; {\"key\": k, \"geo_polygon\": {\"exterior\", \"interiors\"}}; {\"is_empty\": {\"key\": k}}; {\"is_null\": {\"key\": k}}; {\"has_id\": [ids]}; {\"has_vector\": name}; {\"slice\": {\"total\": n, \"index\": i}}; {\"nested\": {\"key\": k, \"filter\": <filter>}}; or a nested filter. Keys for nested objects use dots (`a.b`); objects inside arrays use `a[].b`.",
+ "properties": {
+ "min_should": {
+ "anyOf": [
+ {
+ "properties": {
+ "conditions": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "min_count": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "conditions",
+ "min_count"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "must": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "must_not": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "should": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]