如何通过Grails中单词中的第一个匹配字母搜索Grails中的结果?
例如,这样的查询:findBy...("Moscow")
必须具有输出:“mosquite”,“moschino”等。
最佳答案
如果范围非常窄狭窄,那么您要在此处执行的操作很容易。如果只想搜索前N个匹配的字符,则可以使用findBy[domainClass]Like
。您可以找到文档here。
一个例子是这样的:
def size = params.query.size();
def results = Thing.findByNameLike("${params.query[0..size]}%") // search by length of query
但是,这最有可能缩小您真正想要做的事情。 它可能会让您入门,但是,如果您想认真对待搜索,则需要其他工具。看看位于here的Searchable插件。它使用Lucene引擎,这是一个了不起的工具,并且可能是在您的域中进行基于文本的搜索的最佳方法。
祝好运!
关于grails - 按单词Grails中的第一个匹配字母搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30557323/