无法在休眠搜索中定义分析器6

问题描述 投票:0回答:2

我在 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

java spring-boot hibernate lucene hibernate-search
2个回答
3
投票

以下应该有效:

在您的

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:参考文档


0
投票

还有人面临这个问题吗?我使用 Hibernate Search 6.2.0.FINAL 遇到完全相同的错误 我确实有像 @manu 提到的那样的配置设置

© www.soinside.com 2019 - 2024. All rights reserved.