无法在休眠搜索 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

来源:Hibernate Search 6.0.1.Final: Reference Documentation