3

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

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

  1. 搜索子字符串
  2. 按正则表达式搜索
  3. 按忽略大小写搜索

JDO 是否可以进行上述 3 种操作中的任何一种?

4

2 回答 2

2

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

对于第一个选项,全文搜索可能是您想要的。第二,没有好的解决办法。最后,您只需将字符串的小写或大写版本存储在数据存储中以进行搜索。

于 2012-10-24T13:37:45.307 回答
1

您是否从 App Engine 对新的 FTA 进行了一些搜索?https://developers.google.com/appengine/docs/java/search/

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

但请注意,这个项目目前是实验性的。

编辑:

另一种解决方案是将Whoosh与App Engine 上的后端服务一起使用。然后创建一个 Web 服务。并使用 urlfetch 从您的前端调用您的后端。

于 2012-10-23T13:02:26.850 回答