无法在休眠搜索 6 中定义分析器
Cannot define analyzer in hibernate search 6
我在休眠搜索 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
我在休眠搜索 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