如何使用grails searchable插件将搜索限制为组件的字段值

时间:2010-12-28 22:00:48

标签: grails lucene compass-lucene

使用grails searchable插件,我想使用查询构建器搜索特定类别中的所有产品:

Products.search {
  must(queryString(params.q))
  must(term('??????','Food'))  
}

使用'category.name'返回:找不到别名[category]和路径[category.name]的映射

class Product {    
  String name
  String desc
  Category category

  static searchable = {
    category component: true
  }
}

class Category {      
  String name

  static hasMany = [products: Product]

  static searchable = true     
}

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:4)

我认为你可以这样做:

def results = Product.search {
  must(term('$/Product/category/name', params.categoryName))
  must(queryString(params.q))
}

希望这有帮助!