Objectify查询过滤器,如" name包含"

时间:2014-12-22 00:39:39

标签: java google-app-engine objectify

使用Objectify的Google App Engine查询数据存储区,我想使用像

这样的查询
objectifyService.query(Entity.class).filter("name contains", a);

将返回一个列表,其中包含名称中包含“a”字符的所有实体。但是包含运算符不存在。

有一种简单的方法吗?

2 个答案:

答案 0 :(得分:2)

您可以通过将名称字段分解为要搜索的片段并将其存储为索引属性来处理全文搜索服务的简化等效项。您甚至可以使用Lucene的分析仪来标记和阻止您的领域。

使用数据存储区时会出现这种情况:如果您没有执行所需操作的查询运算符,请预先定义相关数据,以便您的查询现在是一个相等的测试。

或者,使用FTS服务。

答案 1 :(得分:0)

答案是"运营商不存在" - Google数据存储区不支持此类过滤器。要进行搜索,您应该使用搜索引擎:https://cloud.google.com/appengine/docs/java/search/