我在 hibernate search 6 上定义了一个分析器
public class MyLuceneAnalysisConfigurer implements LuceneAnalysisConfigurer {
@Override
public void configure(LuceneAnalysisConfigurationContext context) {
context.analyzer( "english" ).custom()
.tokenizer( StandardTokenizerFactory.class )
.charFilter( HTMLStripCharFilterFactory.class )
.tokenFilter( LowerCaseFilterFactory.class )
.tokenFilter( SnowballPorterFilterFactory.class )
.param( "language", "English" )
.tokenFilter( ASCIIFoldingFilterFactory.class );
;
context.analyzer( "french" ).custom()
.tokenizer( StandardTokenizerFactory.class )
.charFilter( HTMLStripCharFilterFactory.class )
.tokenFilter( LowerCaseFilterFactory.class )
.tokenFilter( SnowballPorterFilterFactory.class )
.param( "language", "French" )
.tokenFilter( ASCIIFoldingFilterFactory.class );
}
}
将其添加到
application.properties
后:
hibernate.search.backend.indexes.<Product>.analysis.configurer = com.example.springmvcrest.services.MyLuceneAnalysisConfigurer
但是 IntelliJ 没有解决它,
运行后:
Analyzer not found org.hibernate.search.util.common.SearchException: HSEARCH000353: Unknown analyzer: 'english'. Make sure you defined this analyzer.
有什么解决办法吗?我使用 Spring Boot 2.4.0
以下应该有效:
在您的
application.properties
中,更改此
hibernate.search.backend.indexes.<Product>.analysis.configurer
至:
hibernate.search.backend.analysis.configurer
总结:
spring.jpa.properties.hibernate.search.backend.analysis.configurer=com.example.springmvcrest.services.MyLuceneAnalysisConfigurer
还有人面临这个问题吗?我使用 Hibernate Search 6.2.0.FINAL 遇到完全相同的错误 我确实有像 @manu 提到的那样的配置设置