2

I define an analyzer on 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 );
    }
}

After I add this to application.properties:

hibernate.search.backend.indexes.<Product>.analysis.configurer = com.example.springmvcrest.services.MyLuceneAnalysisConfigurer 

but its not resolved by IntelliJ,

and after running:

 Analyzer not found org.hibernate.search.util.common.SearchException: HSEARCH000353: Unknown analyzer: 'english'. Make sure you defined this analyzer.

Any solution? I use spring boot 2.4.0

SternK
  • 11,649
  • 22
  • 32
  • 46
Ibrahim
  • 23
  • 3
  • Same exact problem I am seeing, with very similar configuration. Though I have this in application.property: {code}spring.jpa.properties.hibernate.search.backend.analysis.configurer={code} Based on what is mentioned here: https://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#getting-started-analysis – Jubz Dec 22 '20 at 22:27
  • @Jubz The file is named `application.properties` – manu Feb 22 '21 at 15:34

1 Answers1

3

The following should work:

In your application.properties, change this

hibernate.search.backend.indexes.<Product>.analysis.configurer

to:

hibernate.search.backend.analysis.configurer

In summary:

spring.jpa.properties.hibernate.search.backend.analysis.configurer=com.example.springmvcrest.services.MyLuceneAnalysisConfigurer

Source: Hibernate Search 6.0.1.Final: Reference Documentation

manu
  • 556
  • 2
  • 9
  • 29