我正在使用 searchable 在 Grails 上进行搜索查询,但我只想返回不同的结果。
years = House.searchEvery('(house_type:"condo")', [sort: 'house_year', order: 'desc'])
如何使 house_year 独一无二/与众不同,还是我需要自己解析它?
我正在使用 searchable 在 Grails 上进行搜索查询,但我只想返回不同的结果。
years = House.searchEvery('(house_type:"condo")', [sort: 'house_year', order: 'desc'])
如何使 house_year 独一无二/与众不同,还是我需要自己解析它?
如果您想从结果中消除重复项(在这种情况下,重复项被视为具有相同house_year
值的对象),您可以使用unique
Groovy 添加到的方法Collection
years = House.searchEvery('(house_type:"condo")', [sort: 'house_year', order: 'desc'])
def uniqueYears = years.unique {it.house_year}
显然,在可搜索插件的帮助下,没有简单的方法可以做到这一点。搜索您的术语后,您可以自己过滤结果集。在您的情况下,我会尝试使用常规 grails 标准或 hql 查询。例如
House.createCriteria.listDistinct {
order("house_year", "desc")
eq("house_type", "condo")
}