0

我正在使用 AppEngine 的本机 Datastore API 在 Java 中存储对象。

我需要搜索对象中的各种项目——例如:电子邮件地址、电子邮件主题、姓名等。即使是部分输入,它也应该显示结果——比如实时搜索。

为此,我使用 StringUtils2.breakdownFragments 将项目标记为片段的可能输入 - 字符串“Foo Bar”将变为:“f”、“fo”、“foo”、“b”、“ba”、“bar "

我不明白的是如何提供要索引的字符串列表以及如何将它们检索回应用过滤器?

在使用 JDO 或 Objectify 时,我认为它相对简单,但通过本机 API 使用它,我不知道如何去做。

实体不采用要存储的列表。

甚至可以做到吗?

4

2 回答 2

0

您可以调用Entity.setProperty()并传递 aList<String>作为值。

于 2012-10-10T19:38:28.523 回答
0

谨防爆炸性索引。每个列表属性项都被单独索引。您可以运行的查询的复杂性非常有限。在 Search API 出现之前,我就走上了这条路。

如果您的搜索功能可以容忍少量时间不同步,我建议使用搜索 API 来实现您的功能。

于 2012-10-11T15:55:15.957 回答