深入探索Grails搜索与安全特性
1. 全文搜索的进阶优化
在进行全文搜索时,初始的搜索结果虽然不错,但缺少关键词标记。为了实现关键词高亮显示,我们可以借助Searchable插件的功能。
1.1 关键词高亮显示
Searchable插件允许我们通过闭包来实现关键词标记。以下是更新后的控制器代码示例:
package com.grailsinaction class SearchController { def search() { def query = params.q if (!query) { return [:] } try { params.withHighlighter = {highlighter, index, sr -> if (!sr.highlights) { sr.highlights = [] } def matchedFragment = highlighter.fragment("content") sr.highlights[index] = "..." + (matchedFragment ?: "") + "..." } def searchResult =