由以下原因引起:org.hibernate.search.exception.SearchException:HSEARCH000114:无法加载资源:'synonyms.txt'

问题描述

我第一次在春季启动时使用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。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...