2009-10-01 45 views
2

對於我的Grails應用程序,我使用Searchable Plugin來獲得一個不錯的「google-like」搜索。如何防止使用可搜索插件進行應用範圍搜索?

我跟着指示並補充說:

class Address { 
    static searchable =true 

    Integer id     
    AddressGroups addressType 
    String briefDescription  
    String company 
} 

它確實工作得很好。 這裏的問題是,我的應用程序中的搜索欄正在搜索所有類。

我知道這是一個簡單的問題。但我沒有發現這個問題的文檔。我只想在時間搜索一個域類。不是所有的課程。

更多信息: 此外,我得到一個用戶類和AddressGroups類。 正如你所看到的,地址組提供地址的地址類型。

+0

你能提供更多的信息嗎?還有哪些類?我相信,默認情況下,插件將包含您創建的關聯中包含的域對象。 – 2009-10-02 22:20:25

+0

添加了附加信息...嗯聲音interssting。我怎樣才能防止這種行爲? – bastianneu 2009-10-04 10:59:09

回答

3

僅搜索一種類型的結果,你可以添加額外的搜索詞「別名:DomainClassName」(這必須相與正常查詢) 所以它成爲

(搜索關鍵詞)AND(別名: DomainClassName)

如果您希望Person作爲結果,如果在addressGroups中找到該術語,則可以將addressGroups定義爲組件,並使地址組成爲指南針的非根對象。

class Person { 
    AdressGroups addressType 
    static searchable = { 
     root true 
     addressType component: [prefix:'person_'] 
    } 
} 
class AdressGroups { 
    static searchable = { 
     root false 
    } 
} 
+0

+1000哇...謝謝你的回答。很棒! – bastianneu 2009-10-06 08:31:50