使用Grails Searchable插件时正确的snowball analyzer配置
为了改进词干分析,我们希望从默认的分析器切换到snowball,但是,在正确的设置上有很多困难,如果您能提供帮助,我们将不胜感激。在 环境: -Sun的Java 1.6.16 -Grails1.2.2 -可搜索插件0.5.5 Config.groovy: 已尝试两种设置:使用Grails Searchable插件时正确的snowball analyzer配置,grails,lucene,searchable,compass-lucene,Grails,Lucene,Searchable,Compass Lucene,为了改进词干分析,我们希望从默认的分析器切换到snowball,但是,在正确的设置上有很多困难,如果您能提供帮助,我们将不胜感激。在 环境: -Sun的Java 1.6.16 -Grails1.2.2 -可搜索插件0.5.5 Config.groovy: 已尝试两种设置: compassSettings = ['compass.engine.analyzer.stemmed.type': 'snowball', 'compass.engine.analy
compassSettings = ['compass.engine.analyzer.stemmed.type': 'snowball',
'compass.engine.analyzer.stemmed.name': 'English']
compassSettings = ['compass.engine.analyzer.snowball.type': 'snowball',
'compass.engine.analyzer.snowball.name': 'English',
'compass.engine.analyzer.search.type': 'snowball',
'compass.engine.analyzer.search.name': 'English']
Search.groovy-调用:
def searchResult = searchableService.search(params.q, withHighlighter: {
highlighter, index, sr
if (!sr.highlights) {
sr.highlights = []
}
try {
sr.highlights[index] = highlighter.fragments("content")[0..2].join(" ")
} catch (IndexOutOfBoundsException ex) {
sr.highlights[index] = highlighter.fragment("content")
}
})
def suggestion = searchableService.suggestQuery(params.q)
if (suggestion != params.q) {
searchResult.suggestedQuery = suggestion
}
您是否尝试过将这些设置放在Searchable.groovy而不是Config.grovy中 在Searchable.groovy中,我有:
compassSettings = [
'compass.engine.analyzer.default.type': 'snowball',
'compass.engine.analyzer.default.name': 'English',
'compass.engine.analyzer.search.type': 'snowball',
'compass.engine.analyzer.search.name': 'English',
]
这对我来说似乎很好