memo
package com.company.demo.search;
import org.apache.solr.analysis.ASCIIFoldingFilterFactory;
import org.apache.solr.analysis.LowerCaseFilterFactory;
import org.apache.solr.analysis.NGramTokenizerFactory;
import org.hibernate.search.annotations.Factory;
import org.hibernate.search.cfg.SearchMapping;
/**
* This configuration is picked up by hibernate search using the <code>hibernate.search.model_mapping</code>
* code in <code>/META-INF/persistence.xml</code>
*/
public class SearchMappingFactory {
@Factory
public SearchMapping getSearchMapping() {
SearchMapping mapping = new SearchMapping();
mapping.analyzerDef("custom", NGramTokenizerFactory.class).tokenizerParam("maxGramSize", "40") //
.filter(ASCIIFoldingFilterFactory.class) //
.filter(LowerCaseFilterFactory.class);
return mapping;
}
}
/META-INF/persistence.xml
に
<properties>
<!-- ommited -->
<property name="hibernate.search.model_mapping" value="com.company.demo.search.SearchMappingFactory" />
</properties>
を追加