Google App Engine で JPA を使用しています。
多くのプロパティを持つプロファイル エンティティがあります (例: 名前から趣味まで)。ユーザーがプロファイル エンティティを検索できるようにします。検索用のプロパティはオプションです。ユーザーがプロパティの値を入力しなかった場合、クエリから除外されます。そのため、検索で提供されたプロパティの組み合わせが異なると、クエリも異なります。
クエリの条件は動的であり、ユーザーが検索している間に提供されたプロパティに依存します。すべてのプロパティについて以下に何かがあります。
if( ! profile.getLocation().equals("") )
condition += " AND p.location = '" + profile.getLocation() + "' ";
問題は、多くの索引付けが必要なことです。これに対する他のアプローチは何でしょうか?
提供されるプロパティのさまざまな組み合わせには、数百のインデックスが必要になると思います。
ありがとう。