I have a field socialReason in my database with the folowing values
- ch fleyriat
- CLINIQUE DENTAIRE MUTUALISTE
- CENTRE DE SOINS INFIRMIERS BETSCHDORF
for example, i want when i search with the word CH i get the values that contains CH, in my cas i want to get ch fleyriat and CENTRE DE SOINS INFIRMIERS BETSCHDORF
I tried with bolow code, but it return nothing
@Field(analyzer = @Analyzer(definition = "test"))
private String socialReason;
public class CustomAnalyzerProvider implements LuceneAnalysisDefinitionProvider {
@Override
public void register(LuceneAnalysisDefinitionRegistryBuilder builder) {
builder
.analyzer( "test" )
.tokenizer( KeywordTokenizerFactory.class )
.tokenFilter( ASCIIFoldingFilterFactory.class )
.tokenFilter( LowerCaseFilterFactory.class );
}
}
fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(ExerciseFrameworkEntity.class)
.overridesForField("socialReason", "test").get();
listOfQuery.add(getQueryBuilder().keyword().onField("socialReason").matching(socialReason).createQuery());