0
如何用Grails中的首個匹配字母在Grails中搜索結果? 例如這樣的查詢:findBy...("Moscow")
必須有輸出:「mosquite」,「莫斯基諾」等按單詞Grails的第一個匹配字母搜索
如何用Grails中的首個匹配字母在Grails中搜索結果? 例如這樣的查詢:findBy...("Moscow")
必須有輸出:「mosquite」,「莫斯基諾」等按單詞Grails的第一個匹配字母搜索
什麼你希望做的,是容易的,如果範圍是非常窄。如果您只想搜索前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引擎,這是一個了不起的工具,也可能是在您的域中進行基於文本的搜索的最佳方式。
祝你好運!
您可以使用findBy..Like 例如Post.findByTitleLike(「$ {queryString [0..n]}%」),其中n =>您想要考慮的字符數 –