【问题标题】:How to prevent App-wide search with Searchable Plugin?如何使用 Searchable Plugin 防止应用程序范围的搜索?
【发布时间】:2009-10-05 21:28:01
【问题描述】:

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

我按照说明添加了:

class Address {
    static searchable =true

    Integer id                  
    AddressGroups addressType   
    String briefDescription     
    String company 
}  

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

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

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

【问题讨论】:

  • 您能提供更多信息吗?还有什么课?我相信默认情况下,插件将包含您创建的关联中包含的域对象
  • 添加了附加信息...嗯听起来很有趣。如何防止这种行为?

标签: grails grails-plugin


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2020-05-22
    • 2012-11-23
    • 2013-03-01
    • 2021-11-14
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    相关资源
    最近更新 更多