簡體   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