2

对于我的 Grails 应用程序,我使用 Searchable Plugin 来进行一个不错的“类似谷歌”的搜索。

我按照说明添加了:

class Address {
    static searchable =true

    Integer id                  
    AddressGroups addressType   
    String briefDescription     
    String company 
}  

它真的很好用。这里的问题是我的应用程序中的搜索栏正在搜索所有类。

我知道这是一个简单的问题。但我没有找到有关该问题的文档。我只想一次搜索一个域类。不是所有的课。

更多信息: 另外我有一个用户类和一个地址组类。如您所见,Addressgroups 为 Address 提供了 addressType。

4

1 回答 1

3

要仅搜索一种类型的结果,您可以添加一个额外的搜索词“alias:DomainClassName”(这必须与正常查询相加),所以它变成

(搜索词)AND(别名:DomainClassName)

如果您想要 Person 作为结果,如果在 addressGroups 中找到该术语,您可以将 addressGroups 定义为一个组件,并使地址组成为指南针的非根对象。

class Person {
    AdressGroups addressType
    static searchable = {
        root true
        addressType component: [prefix:'person_']
    }
}
class AdressGroups {
    static searchable = {
        root false
    }
}
于 2009-10-05T13:28:01.437 回答