let filter = FilterExpr::must([
FilterExpr::match_("category", @types.String("electronics")),
FilterExpr::range("price", NumericRange::between(10.0, 100.0)),
])
let matches = filter.evaluate(attrs)pub(all) enum FilterExpr {
Leaf(LeafExpr)
Must(Array[FilterExpr])
MustNot(Array[FilterExpr])
Should(Array[FilterExpr], Int)
}impl Show for FilterExprpub(all) enum FilterStrategy {
PreFilter
PostFilter
Auto
}impl Show for FilterStrategypub(all) enum LeafExpr {
Match(String, AttrValue)
Range(String, NumericRange)
Exists(String)
IsNull(String)
}High-performance vector database with multiple ANN algorithms
Dependencies