Boolean filter semantics
must expresses conditions that a point must satisfy, so multiple conditions inside the must set behave like an AND. must_not excludes points satisfying its conditions, providing NOT semantics.
should expresses alternatives: conditions can be satisfied as alternatives according to the filter semantics, rather than requiring every condition. A common use is allowing a point to match one of several categories or values.
The important engineering point is to read the complete filter structure rather than mapping every should mechanically to SQL OR. Nested conditions, minimum_should semantics, and combinations with must or must_not can affect the exact result set.
A common mistake is confusing must_not with a normal boolean field and assuming should always means 'optional preference.' In Qdrant filters, the surrounding structure and conditions determine whether a clause is required, optional, or used as an alternative. Check the version-specific filter documentation for advanced nested behavior.
must is used for required conditions
should represents alternatives within the filter structure
must_not excludes matching points
Nested and advanced filter semantics should be verified against the deployed Qdrant version
0-2 years experience
2-5 years experience
5-8 years experience
8+ years experience