0

class Person{ @Persistent プライベート リスト タグ = ArrayList() }

ユーザーが自分のタグに基づいて人にクエリを実行できるようにしたいので、クエリ フィルターを次のようにしました。

tags.contains(tagValue1)

ユーザーが複数のタグを検索したい場合は、フィルターに追加するだけなので、ユーザーが 3 つのタグを検索している場合、クエリは次のようになります。

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

データストアには、tags プロパティを持つインデックスが 3 回必要になるため、このアプローチは間違っていると思います。ユーザーが一度に 3 つ以上のタグを検索すると、データストアが壊れてしまいます。

これを行う適切な方法は何ですか?何か提案はありますか?

4

1 に答える 1

0

GAE/Jのプラグインがそれを処理する方法の詳細については答えられませんが、わずかに優れたクエリは

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

したがって、「theTag」は変数です。

于 2010-12-10T09:56:34.877 に答える