0

在我的 GAE 数据存储中,我有带有姓名、姓氏和国家/地区的“人”实体

我需要做一个查询 "SELECT * FROM Country WHERE name LIKE '%spa%'"

这个答案提供了这样的解决方案:

Query query = new Query("Person");
query.addFilter("name", FilterOperator.GREATER_THAN_OR_EQUAL, "pe");
query.addFilter("name", FilterOperator.LESS_THAN, "pe"+ "\uFFFD");

但我没有任何成功,总是返回 0 结果......我错过了什么?

似乎另一种选择是使用“搜索 API ”,但是......如何将我的数据存储区中的“人员”的所有数据迁移到新Document的进行搜索?

有什么解决办法吗?

谢谢

4

1 回答 1

1

这个答案和你的问题不一样。他们提供的查询是前缀查询:即所有以“pe”开头的名称。您似乎想要在任何地方查询所有包含“pe”的名称,由于该问题的已接受答案中解释的原因,这是不可能的。

搜索 API 确实是这样做的答案,如何创建文档来表示您的数据存储对象的详细信息包含在您发布的链接中。(请注意,这不是迁移:您的数据应该保留在数据存储中,搜索 API 是一个单独的系统,仅用于全文搜索。)

于 2013-08-28T12:18:00.077 回答