通过 Google App Engine 使用 Objectify 查询数据存储区,我想使用类似的查询
objectifyService.query(Entity.class).filter("name contains", a);
这将返回一个列表,其中包含名称中包含“a”字符的所有实体。但是 contains 运算符不存在。
有没有简单的方法可以做到这一点?
最佳答案
您可以通过将名称字段分解为您希望搜索的片段并将它们存储为索引属性来建立全文搜索服务的简化等效项。您甚至可以使用 Lucene 的分析器对您的字段进行标记和词干。
在使用数据存储区时,这种情况会经常出现:如果您没有可以执行您想要的操作的查询运算符,请对相关数据进行预索引,以便您的查询现在是一个相等测试。
或者,使用 FTS 服务。
关于java - 对象化查询过滤器,例如 "name contains",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27595327/