2011-09-23 109 views
0

我正在使用Searchable插件的查詢構建器來嘗試構建一個查詢來搜索某些內容,並且只返回用戶是受衆或受衆是全局的對象。我想有該代碼將類似於:Grails可搜索插件邏輯OR

{ 
    term("content", content) 
    or { 
    term('reach', 'global') 
    term('audience$user', User) 
    } 
} 

但沒有「或者」對於這一點,我怎麼說,我希望我的領域之一,有一個術語,有另外兩個一個條件符合可搜索的查詢生成器DSL?

這似乎是一個愚蠢的問題,但我一直在尋找相當長的一段時間,無法找到答案。

回答

2

我會使用搜索插件的語法:

search("+content:${content} +(reach:global OR audience.user.id:${user.id})")

不知道你的意思與「觀衆$用戶」雖然。

看看這裏的細節: http://grails.org/Searchable+Plugin+-+Searching+-+String+Queries http://lucene.apache.org/java/2_4_0/queryparsersyntax.html#Boolean%20operators

+0

是的,我以前使用過這種方法,這次我嘗試了另一種方法,但它看起來像我可能會退回到字符串搜索。 – mfollett

+0

最後,我最終還是要這樣做,所以我會接受它作爲答案。 – mfollett