Package com.redis.vl.query
Class Filter
java.lang.Object
com.redis.vl.query.Filter
Represents a filter for Redis search
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder for geo filtersstatic enumGeographic units for radius queriesstatic classBuilder for numeric filtersstatic classBuilder for timestamp filters -
Method Summary
Modifier and TypeMethodDescriptionstatic FilterCombine filters with ANDbuild()Build the filter query stringstatic Filterconditional(String field, String pattern) Create a conditional text filter (value1|value2|...)static FilterCreate a custom filter expressionstatic FilterCreate an exact match filterstatic FilterCreate a fuzzy match filterstatic Filter.GeoFilterBuilderCreate a geo filter builderstatic FilterNegate a filterstatic Filter.NumericFilterBuilderCreate a numeric filter builderstatic FilterCombine filters with ORstatic FilterCreate a prefix filterstatic FilterCreate a tag filterstatic FilterCreate a tag wildcard filter for pattern matching.static FilterCreate a negated tag filter (tag != value)static FilterCreate a text search filterstatic FilterCreate a negated text filter (text != value)Create a timestamp filter builderstatic FilterCreate a wildcard filter
-
Method Details
-
text
Create a text search filter- Parameters:
field- Field namevalue- Search value- Returns:
- FilterQuery
-
tag
Create a tag filter- Parameters:
field- Field namevalues- Tag values- Returns:
- FilterQuery
-
tagLike
Create a tag wildcard filter for pattern matching.This enables wildcard pattern matching on tag fields using the
*character. Unlike thetag(String, String...)method, wildcards are not escaped, allowing patterns with wildcards in any position, such as prefix ("tech*"), suffix ("*tech"), or middle ("*tech*") matches.Examples:
Filter.tagLike("category", "tech*"); // Prefix match Filter.tagLike("category", "*tech"); // Suffix match Filter.tagLike("category", "*tech*"); // Contains match Filter.tagLike("category", "tech*", "*soft"); // Multiple patterns- Parameters:
field- Field namepatterns- Tag patterns with wildcards (e.g., "tech*", "*tech", "*tech*")- Returns:
- FilterQuery for wildcard matching
-
numeric
Create a numeric filter builder- Parameters:
field- Field name- Returns:
- NumericFilterBuilder
-
geo
Create a geo filter builder- Parameters:
field- Field name- Returns:
- GeoFilterBuilder
-
wildcard
Create a wildcard filter- Parameters:
field- Field namepattern- Wildcard pattern- Returns:
- FilterQuery
-
prefix
Create a prefix filter- Parameters:
field- Field nameprefix- Prefix value- Returns:
- FilterQuery
-
fuzzy
Create a fuzzy match filter- Parameters:
field- Field namevalue- Fuzzy match value- Returns:
- FilterQuery
-
exact
Create an exact match filter- Parameters:
field- Field namevalue- Exact match value- Returns:
- FilterQuery
-
and
Combine filters with AND- Parameters:
filters- Filters to combine- Returns:
- FilterQuery
-
or
Combine filters with OR- Parameters:
filters- Filters to combine- Returns:
- FilterQuery
-
not
Negate a filter- Parameters:
filter- Filter to negate- Returns:
- FilterQuery
-
custom
Create a custom filter expression- Parameters:
expression- Custom expression- Returns:
- FilterQuery
-
tagNot
Create a negated tag filter (tag != value)- Parameters:
field- Field namevalues- Tag values to exclude- Returns:
- FilterQuery
-
textNot
Create a negated text filter (text != value)- Parameters:
field- Field namevalue- Text value to exclude- Returns:
- FilterQuery
-
conditional
Create a conditional text filter (value1|value2|...)- Parameters:
field- Field namepattern- Conditional pattern (e.g., "engineer|doctor")- Returns:
- FilterQuery
-
timestamp
Create a timestamp filter builder- Parameters:
field- Field name- Returns:
- TimestampFilterBuilder
-
build
Build the filter query string- Returns:
- Query string
-