Mercurial Hosting > luan
diff src/goodjava/lucene/api/MultiFieldParserConfig.java @ 1460:3ab0d043370f
start lucene.api
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 23 Mar 2020 00:04:42 -0600 |
parents | |
children | f848d40b3b07 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/goodjava/lucene/api/MultiFieldParserConfig.java Mon Mar 23 00:04:42 2020 -0600 @@ -0,0 +1,35 @@ +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 goodjava.lucene.queryparser.MultiFieldParser; +import goodjava.lucene.queryparser.FieldParser; +import goodjava.lucene.queryparser.StringFieldParser; + + +public class MultiFieldParserConfig implements GoodIndexWriterConfig { + private final MultiFieldParser mfp; + + public MultiFieldParserConfig(MultiFieldParser mfp) { + this.mfp = mfp; + } + + public final boolean isIndexed(String fieldName) { + return mfp.fields.containsKey(fieldName); + } + + 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; + } + + public Map<String,Object> getUnstoredFields(Map<String,Object> storedFields) { + return Collections.emptyMap(); + } +}