繁体   English   中英

客观化查询过滤器,例如“名称包含”

[英]Objectify query filters like “name contains”

借助使用Objectify来查询数据存储区的Google App Engine,我想使用类似

objectifyService.query(Entity.class).filter("name contains", a);

它将返回一个列表,其中所有实体名称中都包含“ a”字符。 但是contains操作符不存在。

有没有简单的方法可以做到这一点?

您可以通过将名称字段分解为希望搜索的部分并将其存储为索引属性,来简化与全文搜索服务等效的工作。 您甚至可以使用Lucene的分析器标记和阻止您的字段。

在使用数据存储区时,这会产生很多问题:如果您没有查询运算符来执行所需的操作,请对相关数据进行预索引,以便您的查询现在成为一个相等性测试。

或者,使用FTS服务。

答案是“操作员不存在”-Google数据存储区不支持这种类型的过滤器。 要进行搜索,您应该使用搜索引擎: https : //cloud.google.com/appengine/docs/java/search/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM