查询生成器- Grails可搜索插件搜索映射域



我们使用的是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))
}

现在如何使用可搜索的query Builder编写类似的查询

看一下下面的代码(类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)

注意,对象必须标记为可搜索的。上面的编码对我来说很好。详情请参考可搜索插件文档

相关内容

  • 没有找到相关文章

最新更新