问题描述
我第一次在春季启动时使用Hibernate搜索,并尝试定义自己的德语同义词,而我正在使用以下代码:
@AnalyzerDef(name = "edgeNgram",tokenizer = @TokenizerDef(factory = WhitespacetokenizerFactory.class),filters = {
@TokenFilterDef(factory = ASCIIFoldingFilterFactory.class),// Replace accented characeters by their simpler counterpart (è => e,etc.)
@TokenFilterDef(factory = LowerCaseFilterFactory.class),// Lowercase all characters
@TokenFilterDef(
factory = EdgeNGramFilterFactory.class,// Generate prefix tokens
params = {
@Parameter(name = "minGramSize",value = "2"),@Parameter(name = "maxGramSize",value = "4")
}
),@TokenFilterDef(
factory = SynonymFilterFactory.class,params = {
@Parameter(name = "ignoreCase",value = "true"),@Parameter(name = "expand",@Parameter(name = "synonyms",value = "synonyms.txt"),})
})
当我使用“ factory = SynonymFilterFactory.class”并定义我的“ synonyms.txt”文件时,出现错误:
Caused by: org.hibernate.search.exception.SearchException: HSEARCH000114: Could not load resource: 'synonyms.txt'
我是Spring Boot的新手,将感谢您的帮助! 谢谢
解决方法
此:
@Parameter(name = "synonyms",value = "synonyms.txt")
意味着您要让Hibernate Search从类路径中加载名为synonyms.txt
的文件,并从中提取同义词列表。
如果在类路径的根目录下没有名为synonyms.txt
的文件,则会出现此异常。
添加文件,一切应恢复正常。
有关此文件格式的说明,请参见org.apache.lucene.analysis.synonym.SolrSynonymParser
的javadoc。