Class FilterExpressionBuilder

java.lang.Object
org.springframework.ai.vectorstore.filter.FilterExpressionBuilder

public class FilterExpressionBuilder extends Object
DSL builder for Filter.Expression instances. Here are some common examples:

 var b = new FilterExpressionBuilder();

 // 1: country == "BG"
 var exp1 = b.eq("country", "BG");

 // 2: genre == "drama" AND year >= 2020
 var exp2 = b.and(b.eq("genre", "drama"), b.gte("year", 2020));

 // 3: genre in ["comedy", "documentary", "drama"]
 var exp3 = b.in("genre", "comedy", "documentary", "drama");

 // 4: year >= 2020 OR country == "BG" AND city != "Sofia"
 var exp4 = b.and(b.or(b.gte("year", 2020), b.eq("country", "BG")), b.ne("city", "Sofia"));

 // 5: (year >= 2020 OR country == "BG") AND city NIN ["Sofia", "Plovdiv"]
 var exp5 = b.and(b.group(b.or(b.gte("year", 2020), b.eq("country", "BG"))), b.nin("city", "Sofia", "Plovdiv"));

 // 6: isOpen == true AND year >= 2020 AND country IN ["BG", "NL", "US"]
 var exp6 = b.and(b.and(b.eq("isOpen", true), b.gte("year", 2020)), b.in("country", "BG", "NL", "US"));

 
This builder DSL mimics the common https://www.baeldung.com/hibernate-criteria-queries syntax.
Author:
Christian Tzolov