HibernateSearchAnalysisConfigurer.java
package com.taxonomy.shared.config;
import org.apache.lucene.analysis.de.GermanAnalyzer;
import org.apache.lucene.analysis.en.EnglishAnalyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.hibernate.search.backend.lucene.analysis.LuceneAnalysisConfigurationContext;
import org.hibernate.search.backend.lucene.analysis.LuceneAnalysisConfigurer;
import org.springframework.stereotype.Component;
/**
* Hibernate Search {@link LuceneAnalysisConfigurer} that registers English and German
* Lucene analyzers for use with {@code @FullTextField(analyzer = "english")} /
* {@code @FullTextField(analyzer = "german")} field annotations.
*
* <p>Referenced in {@code application.properties} as
* {@code hibernate.search.backend.analysis.configurer=bean:hibernateSearchAnalysisConfigurer}.
*/
@Component("hibernateSearchAnalysisConfigurer")
public class HibernateSearchAnalysisConfigurer implements LuceneAnalysisConfigurer {
@Override
public void configure(LuceneAnalysisConfigurationContext context) {
context.analyzer("english").instance(new EnglishAnalyzer());
context.analyzer("german").instance(new GermanAnalyzer());
context.analyzer("standard").instance(new StandardAnalyzer());
context.analyzer("dsl").instance(new DslAnalyzer());
context.analyzer("csv-keyword").instance(new CsvKeywordAnalyzer());
}
}