grails中不区分大小写的搜索

Posted

技术标签:

【中文标题】grails中不区分大小写的搜索【英文标题】:Case insensitive search in grails 【发布时间】:2010-10-13 12:51:53 【问题描述】:

我正在开发使用文件搜索的 grails 应用程序。为此,我编写了以下代码。这段代码有效,它给出了区分大小写的结果。但我想搜索不区分大小写的文件。

def criteria = FileDomain.createCriteria()
 def results = criteria 
    and 
      like('user', User.findById(session?.user))
      or 
        like('filename', '%' + params.fileSearchKey + '%')
        like('referenceFilename', '%' + params.fileSearchKey + '%')
         
       
    

谁能提供这方面的帮助?

【问题讨论】:

【参考方案1】:

我相信使用

ilike('filename', "%$params.fileSearchKey%")
ilike('referenceFilename', "%$params.fileSearchKey%")

这就是你应该做的case insensitive搜索

【讨论】:

【参考方案2】:

在 Grails 2.x 中执行此操作的一种方法是使用 the eq node:

eq("branch", "london", [ignoreCase: true])

【讨论】:

奇怪...我得到 groovy.lang.MissingMethodException:没有方法签名:eq() 适用于参数类型:(java.lang.String, java.lang.String, java .util.LinkedHashMap) 这是在 Grails 2.5.0 中。最后没有地图,它工作正常。

以上是关于grails中不区分大小写的搜索的主要内容,如果未能解决你的问题,请参考以下文章

Pig Latin 中不区分大小写的搜索

Rails 模型中不区分大小写的搜索

修改搜索以使其在 SQL Server 中不区分重音

使用 MongoDB 在 Grails 中命名查询的列表方法中排序不区分大小写

VBA代码在MS Access中不区分大小写的过滤器

Oracle中不区分大小写的主键