Mercurial Hosting > luan
view src/goodjava/lucene/api/MultiFieldParserConfig.java @ 1708:8d257d56dc42
minor
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 04 Jul 2022 14:06:59 -0600 |
parents | f48db13ae2d9 |
children |
line wrap: on
line source
package goodjava.lucene.api; import java.util.Map; import java.util.Collections; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.core.KeywordAnalyzer; import org.apache.lucene.index.IndexWriterConfig; import org.apache.lucene.util.Version; import goodjava.lucene.queryparser.MultiFieldParser; import goodjava.lucene.queryparser.FieldParser; import goodjava.lucene.queryparser.StringFieldParser; public class MultiFieldParserConfig implements GoodIndexWriterConfig { private final Version luceneVersion; private final MultiFieldParser mfp; public MultiFieldParserConfig(Version luceneVersion,MultiFieldParser mfp) { this.luceneVersion = luceneVersion; this.mfp = mfp; } @Override public IndexWriterConfig newLuceneConfig() { return new IndexWriterConfig(luceneVersion,new FieldAnalyzer()); } @Override public final boolean isIndexed(String fieldName) { return mfp.fields.containsKey(fieldName); } @Override public final Analyzer getAnalyzer(String fieldName) { FieldParser fp = mfp.fields.get(fieldName); if( !(fp instanceof StringFieldParser) ) return null; StringFieldParser sfp = (StringFieldParser)fp; Analyzer analyzer = sfp.analyzer; return analyzer instanceof KeywordAnalyzer ? null : analyzer; } private static final MoreFieldInfo noMoreFieldInfo = new MoreFieldInfo(Collections.emptyMap(),Collections.emptyMap()); @Override public MoreFieldInfo getMoreFieldInfo(Map<String,Object> storedFields) { return noMoreFieldInfo; } }