繁体   English   中英

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

[英]Checking active flag in grails searchable query

我想为Grails可搜索插件构建搜索查询,这将仅向我返回活动对象。 (不会返回带有“ activate”标志设置为false的对象)。 这是我的情况。

我有一个Abstract类,还有一些类扩展了Abstract类(例如Person):

class AbstractObject{
  boolean active;
  DateTime createDate
}

class Person extends AbstractObject{
  String name;
  String surname;

  static searchable=[only:['name','surname','active']]
}

当我删除对象时,我将'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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM