Interface Filter
- All Known Implementing Classes:
And, ContainsString, FullTextContains, FullTextContainsAll, FullTextContainsAny, IsEqualTo, IsGreaterThan, IsGreaterThanOrEqualTo, IsIn, IsLessThan, IsLessThanOrEqualTo, IsNotEqualTo, IsNotIn, IsTextMatch, IsTextMatchPhrase, Not, Or
public interface Filter
This class represents a filter that can be applied during search in an
Many
A
Each
Metadata values can be
EmbeddingStore.
Many
EmbeddingStores support a feature called metadata filtering. A Filter can be used for this.
A
Filter object can represent simple (e.g. type = 'documentation')
and composite (e.g. type = 'documentation' AND year > 2020) filter expressions in
an EmbeddingStore-agnostic way.
Each
EmbeddingStore implementation that supports metadata filtering is mapping Filter
into it's native filter expression.
Metadata values can be
Float or Double, and those can be infinite or NaN.
Infinite values are compared as one would expect: -Infinity is smaller and +Infinity is
greater than any other number. NaN is not comparable to anything, not even to itself, so every
comparison with it is false: a NaN metadata value satisfies neither
IsEqualTo("key", NaN) nor IsGreaterThan("key", 0), and only IsNotEqualTo and
IsNotIn match it.- See Also:
-
Method Details
-
test
-
and
-
and
-
or
-
or
-
not
-