子串搜索Google App Engine数据存储区实体中的文本

时间:2012-10-23 12:23:40

标签: google-app-engine google-cloud-datastore jdo

我一直在使用Google App Engine。我发现搜索子字符串和其他一些操作有问题。 javax.jdo.Query提供了根据需要设置过滤器的选项。有几个过滤器可用,如包含,不等式运算符,但我找不到符合我需要的任何过滤器。

我无法找到以下方法: 如何将查询过滤器设置为

  1. 搜索子字符串
  2. 按正则表达式搜索
  3. 按忽略案例搜索
  4. JDO可以进行上述3种操作吗?

2 个答案:

答案 0 :(得分:2)

不,这些在App Engine数据存储区中是不可能的,因为它们不能满足索引。 App Engine数据存储区不会执行需要扫描所有实体的查询。

对于第一个选项,全文搜索可能就是您想要的。第二,没有好的解决方案。最后,您只需在数据存储区中存储字符串的低层或高层版本即可进行搜索。

答案 1 :(得分:1)

您是否已从App Engine搜索新的FTA? https://developers.google.com/appengine/docs/java/search/

您必须从数据存储区创建数据索引,然后您可以使用一些通配符来搜索索引文档。

但是看看这个项目目前是实验性的。

编辑:

另一种解决方案是在App Engine上使用WhooshBackends Service。然后,您创建一个Web服务。并使用urlfetch从您的前端调用您的后端。