正在检查grails可搜索查询中的活动标志



我想为Grails Searchable插件构建搜索查询,它将只返回活动对象。(将不会返回"activate"标志设置为false的对象)。这就是我的处境。

我有一个抽象类和一些扩展抽象类(例如Person)的类:

class AbstractObject{
  boolean active;
  DateTime createDate
}
class Person extends AbstractObject{
  String name;
  String surname;
  static searchable=[only:['name','surname','active']]
}

当我删除对象时,我将"活动"标志设置为false。

在我使用之前

searchableService.search(myQuery, defaultOperator:"or", max: 10)

但是它返回的对象是不活动的,所以我决定尝试使用查询生成器:

def result=searchableService.search({
  must(queryString(myQuery))
  must(term('active',false))
}, defaultOperator:"or", max: 10)

不幸的是,它一无所获。你知道我做错了什么吗?我的代码应该是什么样子?

试试下面的,我没有测试它。希望它能解决这个问题。

def finalQuery = "name:${myQuery}* OR surname:${myQuery}* -(active:false)";
def searchResults = Person.search(finalQuery , params)

相关内容

  • 没有找到相关文章

最新更新