Grails-使用不同的字段进行搜索

Grails-使用不同的字段进行搜索,grails,plugins,searchable,Grails,Plugins,Searchable,我正在使用Grails2.3.x和可搜索插件 想象下一本域类书籍(字符串作者、字符串标题、日期pubDate) 例如,我需要使用不同的字段进行搜索 我想搜索出版日期(pubDate)介于字段1:03/03/2014和字段2:04/04/2014之间的书籍, 也例如:标题为X和pubDate介于字段1:03/03/2014和字段2:04/04/2014 是否使用可搜索插件使用不同的参数进行搜索 多谢各位 编辑: 我需要在哪里编写代码? def search={ … Book.search{ gt(

我正在使用Grails2.3.x和可搜索插件

想象下一本域类书籍(字符串作者、字符串标题、日期pubDate)

例如,我需要使用不同的字段进行搜索

我想搜索出版日期(pubDate)介于
字段1:03/03/2014
字段2:04/04/2014
之间的书籍, 也例如:标题为X和pubDate介于
字段1:03/03/2014
字段2:04/04/2014

是否使用可搜索插件使用不同的参数进行搜索

多谢各位

编辑: 我需要在哪里编写代码?
def search={


Book.search{

gt(“pubDate”,字段1)
lt(“发布日期”,字段2)

}


}

Searchable提供了一个搜索生成器,可以实现这一点。您可以这样进行搜索:

Book.search {
    gt("pubDate", field1)
    lt("pubDate", field2)
}

该代码将在索引中搜索所有符合条件的
Book
对象,并返回
列表
那些
Book
s。您可以将其放入控制器或服务中。例如,以下是控制器操作中的外观:

def searchBooks(String title, Date pubDate) {
    def books = Book.search(result: 'every') {
        term('title', title)
        gt('pubDate', pubDate)    
    }

    render view: 'list', [bookList: books]
}

看这个文件:

对不起,我有些不明白;我需要在哪里编写代码?在我在BookController中复制的搜索方法中?
def searchBooks(String title, Date pubDate) {
    def books = Book.search(result: 'every') {
        term('title', title)
        gt('pubDate', pubDate)    
    }

    render view: 'list', [bookList: books]
}