2

我们正在使用 grails 2.1.1 和 grails searchable-plugin 0.6.4。

我们想使用 searchable 搜索具有 belongsTo 关联的域。

假设我们有一个域

class A {
  static belongsTo= [b:B]
}

现在要使用 b 实例访问 A,我们将标准编写为

A.createCriteria.list{
   eq('b',B.get(1))
}

现在如何使用可搜索的查询生成器编写类似的查询。

4

1 回答 1

0

看看下面的代码(类 User 与AB具有相同的关系)。我用这种方式来改变默认搜索的行为:

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)

请注意,对象必须标记为可搜索。上面的编码对我来说很好。请参阅可搜索插件文档以获取更多信息。

于 2013-01-06T19:35:39.563 回答