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();
+	}
+}