我在Google App Engine中使用JPA。
我有一个包含许多属性的个人资料实体(例如从名字到爱好)。我允许用户搜索配置文件实体。搜索属性是可选的。如果用户未输入属性值,则会在查询中将其排除。因此,搜索中提供的属性的不同组合也会有不同的查询。
查询中的条件是动态的,它取决于用户搜索时提供的属性。所有属性都有以下内容。
if( ! profile.getLocation().equals("") )
condition += " AND p.location = '" + profile.getLocation() + "' ";
问题在于它需要大量索引。对此有什么其他方法?
我认为提供不同的属性组合需要数百个索引。
感谢。