我们正在使用grails 2.1.1和grails searchable-plugin 0.6.4。
我们希望使用可搜索的搜索具有belongsTo关联的域。
假设我们有一个域
class A {
static belongsTo= [b:B]
}
现在要使用b实例访问A,我们将标准写为
A.createCriteria.list{
eq('b',B.get(1))
}
现在如何使用可搜索的查询生成器编写类似的查询。
答案 0 :(得分:0)
请查看下面的代码(类User与 A 和 B 具有相同的关系)。我用这种方式来改变默认搜索的行为:
def searchResult = searchableService.search({
must {
queryString(params.q)
must(term('deleted', "false"))
must(term('status', STATUS_NEW))
if (loggedUser){
must(term('User.settings.countryCode', loggedUser.countryCode))
}
}
}, params, escape: false, max: 50)
请注意,对象必须标记为可搜索。以上编码对我来说很好。有关详细信息,请参阅Searchable Plugin Documentation。