有没有办法用 Hazelcast PredicateBuilder 查询带有 like 子句的数据?
Is there a way to query data with like clause with Hazelcast PredicateBuilder?
我正在使用 Hazelcast PredicateBuilder(https://docs.hazelcast.org/docs/3.6-EA3/javadoc/com/hazelcast/query/PredicateBuilder.html#filter(com.hazelcast.query.impl.QueryContext)) and EntryObject(https://docs.hazelcast.org/docs/3.6-EA3/javadoc/com/hazelcast/query/EntryObject.html) 查询数据存储。
有没有办法将这些函数结合起来得到一个 LIKE
子句?例如,如果我有动物 table,它有像这样的 id 和名称字段 Animal(id, name)
和两行 - Animal(1, grey rabbit)
和 Animal(2, blue rabbit)
我想得到一个查询这个:
SELECT id FROM animal WHERE name LIKE '%rabbit%'
你可以使用 SqlPredicate,类似的东西:
map.values(new SqlPredicate("name like '%rabbit%');
或
map.values(new SqlPredicate("__key.name like '%rabbit%');
如果您想查询密钥。
记住使用 'like' 时的所有性能问题。
我正在使用 Hazelcast PredicateBuilder(https://docs.hazelcast.org/docs/3.6-EA3/javadoc/com/hazelcast/query/PredicateBuilder.html#filter(com.hazelcast.query.impl.QueryContext)) and EntryObject(https://docs.hazelcast.org/docs/3.6-EA3/javadoc/com/hazelcast/query/EntryObject.html) 查询数据存储。
有没有办法将这些函数结合起来得到一个 LIKE
子句?例如,如果我有动物 table,它有像这样的 id 和名称字段 Animal(id, name)
和两行 - Animal(1, grey rabbit)
和 Animal(2, blue rabbit)
我想得到一个查询这个:
SELECT id FROM animal WHERE name LIKE '%rabbit%'
你可以使用 SqlPredicate,类似的东西:
map.values(new SqlPredicate("name like '%rabbit%');
或
map.values(new SqlPredicate("__key.name like '%rabbit%');
如果您想查询密钥。
记住使用 'like' 时的所有性能问题。