我正在使用AppEngine的原生数据存储API来存储Java中的对象。
我需要搜索对象中的各种项目 - 例如:电子邮件地址,电子邮件主题,名称等。它应该显示结果,即使是部分输入 - 如实时搜索。
为了实现这一点,我使用StringUtils2.breakdownFragments将项目标记为可能的片段输入 - 字符串“Foo Bar”将变为:“f”,“fo”,“foo”,“b”,“ba” ,“酒吧”
我不明白的是如何将这个字符串列表编入索引,如何使用过滤器检索它们?
在使用JDO或Objectify时,我看到它相对简单但通过本机API使用它,我不知道如何做。
实体不会列出要存储的列表。
甚至可以做到吗?
答案 0 :(得分:0)
您可以拨打Entity.setProperty()
并传递List<String>
作为值。
答案 1 :(得分:0)
小心爆炸索引。每个列表属性项都单独编制索引。您可以运行的查询的复杂性非常有限。我在Search API出现之前走了那条路。
如果您的搜索功能可以容忍少量不同步,我建议您使用搜索API来实现您的功能。