【问题标题】:Grails - Make searches with different fieldsGrails - 使用不同的字段进行搜索
【发布时间】:2014-03-10 21:51:42
【问题描述】:

我正在使用 Grails 2.3.x 和 Searchable 插件,

想象下一本领域类书籍(String Author、String Title、Date pubDate);

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

我想搜索出版日期 (pubDate) 在 Field1: 03/03/2014Field2: 04/04/2014 之间的书籍, 也例如:标题 X 和 pubDate 在 Field1: 03/03/2014Field2: 04/04/2014 之间的书籍

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

非常感谢。

编辑: 我需要在哪里编写该代码?
def search = {
...
Book.search {
gt("pubDate", field1) lt("pubDate", field2)
}
}

【问题讨论】:

    标签: grails plugins searchable


    【解决方案1】:

    Searchable 提供了一个搜索构建器来完成这个任务。您可以像这样进行搜索:

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

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

    该代码将在索引中搜索所有符合条件的Book 对象并返回List 那些Books。你可以把它放在你的控制器或服务中。例如,这是控制器动作中的样子:

    def searchBooks(String title, Date pubDate) {
        def books = Book.search(result: 'every') {
            term('title', title)
            gt('pubDate', pubDate)    
        }
    
        render view: 'list', [bookList: books]
    }
    

    查看此文档:http://grails.org/Searchable+Plugin+-+Searching+-+Query+Builder

    【讨论】:

    • 对不起,我有些不明白;我需要在哪里编写该代码?在我在 BookController 中复制的搜索方法中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多