0

类人 { @Persistent 私有列表标签 = ArrayList() }

我想让用户根据他/她的标签查询一个人,所以我的查询过滤器是这样的:

tags.contains(tagValue1)

如果用户想要搜索多个标签,我只需添加到过滤器中,所以如果用户正在搜索 3 个标签,那么查询将是

tags.contains(tagValue1) && tags.contains(tagValue2) && tags.contains(tagValue3)

我认为这种方法是错误的,因为数据存储需要有一个索引,该索引具有标签属性三倍......如果用户一次搜索超过 3 个标签,那么它将被破坏。

这样做的正确方法是什么?你们有什么建议吗?

4

1 回答 1

0

无法回答 GAE/J 的插件如何处理的细节,但更好的查询会是

tags.contains(theTag) && (theTag == tagValue1 || theTag == tagValue2 || theTag == tagValue3)

所以“theTag”是一个变量。

于 2010-12-10T09:56:34.877 回答