From 987f2f5aa8575bbbee2ba524e9e5fa48abe9391d Mon Sep 17 00:00:00 2001 From: Areek Zillur Date: Sat, 5 Mar 2016 01:07:57 -0500 Subject: cleanup --- .../suggest/completion/CompletionSuggester.java | 2 +- .../completion/CompletionSuggestionBuilder.java | 53 +++++++++++++++------- .../completion/CompletionSuggestionContext.java | 12 ++--- .../search/suggest/completion/FuzzyOptions.java | 28 ++++++------ .../search/suggest/completion/RegexOptions.java | 21 ++++----- .../suggest/completion/context/ContextMapping.java | 8 +++- 6 files changed, 71 insertions(+), 53 deletions(-) (limited to 'core/src/main/java/org/elasticsearch/search/suggest/completion') diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggester.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggester.java index be90a2e7e7..e3953c8e0b 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggester.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggester.java @@ -84,7 +84,7 @@ public class CompletionSuggester extends Suggester } // collect payloads final Map> payload = new HashMap<>(0); - Set payloadFields = suggestionContext.getPayloadFields(); + List payloadFields = suggestionContext.getPayloadFields(); if (payloadFields.isEmpty() == false) { final int readerIndex = ReaderUtil.subIndex(suggestDoc.doc, leaves); final LeafReaderContext subReaderContext = leaves.get(readerIndex); diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java index 38242a29ae..141e41e826 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java @@ -18,7 +18,7 @@ */ package org.elasticsearch.search.suggest.completion; -import org.elasticsearch.ElasticsearchException; +import org.elasticsearch.ElasticsearchParseException; import org.elasticsearch.common.ParseField; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.io.stream.StreamInput; @@ -64,9 +64,9 @@ public class CompletionSuggestionBuilder extends SuggestionBuilder TLP_PARSER = - new ObjectParser<>(CompletionSuggestionBuilder.SUGGESTION_NAME, null); + new ObjectParser<>(SUGGESTION_NAME, null); static { - TLP_PARSER.declareStringArray(CompletionSuggestionBuilder::payload, CompletionSuggestionBuilder.PAYLOAD_FIELD); + TLP_PARSER.declareStringArray(CompletionSuggestionBuilder::payload, PAYLOAD_FIELD); TLP_PARSER.declareField((parser, completionSuggestionContext, context) -> { if (parser.currentToken() == XContentParser.Token.VALUE_BOOLEAN) { if (parser.booleanValue()) { @@ -90,7 +90,7 @@ public class CompletionSuggestionBuilder extends SuggestionBuilder> queryContexts = Collections.emptyMap(); - private Set payloadFields = Collections.emptySet(); + private List payloadFields = Collections.emptyList(); CompletionFieldMapper.CompletionFieldType getFieldType() { return this.fieldType; @@ -67,15 +65,11 @@ public class CompletionSuggestionContext extends SuggestionSearchContext.Suggest this.queryContexts = queryContexts; } - void setPayloadFields(Set fields) { - this.payloadFields = fields; - } - void setPayloadFields(List fields) { - setPayloadFields(new HashSet<>(fields)); + this.payloadFields = fields; } - Set getPayloadFields() { + List getPayloadFields() { return payloadFields; } diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/FuzzyOptions.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/FuzzyOptions.java index aac58d7cb3..709124443b 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion/FuzzyOptions.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/FuzzyOptions.java @@ -40,20 +40,20 @@ import java.util.Objects; */ public class FuzzyOptions implements ToXContent, Writeable { static final ParseField FUZZY_OPTIONS = new ParseField("fuzzy"); - static final ParseField TRANSPOSITION_FIELD = new ParseField("transpositions"); - static final ParseField MIN_LENGTH_FIELD = new ParseField("min_length"); - static final ParseField PREFIX_LENGTH_FIELD = new ParseField("prefix_length"); - static final ParseField UNICODE_AWARE_FIELD = new ParseField("unicode_aware"); - static final ParseField MAX_DETERMINIZED_STATES_FIELD = new ParseField("max_determinized_states"); + private static final ParseField TRANSPOSITION_FIELD = new ParseField("transpositions"); + private static final ParseField MIN_LENGTH_FIELD = new ParseField("min_length"); + private static final ParseField PREFIX_LENGTH_FIELD = new ParseField("prefix_length"); + private static final ParseField UNICODE_AWARE_FIELD = new ParseField("unicode_aware"); + private static final ParseField MAX_DETERMINIZED_STATES_FIELD = new ParseField("max_determinized_states"); - static ObjectParser FUZZY_PARSER = new ObjectParser<>(FUZZY_OPTIONS.getPreferredName(), Builder::new); + private static ObjectParser PARSER = new ObjectParser<>(FUZZY_OPTIONS.getPreferredName(), Builder::new); static { - FUZZY_PARSER.declareInt(FuzzyOptions.Builder::setFuzzyMinLength, MIN_LENGTH_FIELD); - FUZZY_PARSER.declareInt(FuzzyOptions.Builder::setMaxDeterminizedStates, MAX_DETERMINIZED_STATES_FIELD); - FUZZY_PARSER.declareBoolean(FuzzyOptions.Builder::setUnicodeAware, UNICODE_AWARE_FIELD); - FUZZY_PARSER.declareInt(FuzzyOptions.Builder::setFuzzyPrefixLength, PREFIX_LENGTH_FIELD); - FUZZY_PARSER.declareBoolean(FuzzyOptions.Builder::setTranspositions, TRANSPOSITION_FIELD); - FUZZY_PARSER.declareValue((a, b) -> { + PARSER.declareInt(Builder::setFuzzyMinLength, MIN_LENGTH_FIELD); + PARSER.declareInt(Builder::setMaxDeterminizedStates, MAX_DETERMINIZED_STATES_FIELD); + PARSER.declareBoolean(Builder::setUnicodeAware, UNICODE_AWARE_FIELD); + PARSER.declareInt(Builder::setFuzzyPrefixLength, PREFIX_LENGTH_FIELD); + PARSER.declareBoolean(Builder::setTranspositions, TRANSPOSITION_FIELD); + PARSER.declareValue((a, b) -> { try { a.setFuzziness(Fuzziness.parse(b).asDistance()); } catch (IOException e) { @@ -82,8 +82,8 @@ public class FuzzyOptions implements ToXContent, Writeable { private FuzzyOptions() { } - public static FuzzyOptions parse(XContentParser parser) throws IOException { - return FUZZY_PARSER.parse(parser).build(); + static FuzzyOptions parse(XContentParser parser) throws IOException { + return PARSER.parse(parser).build(); } public static Builder builder() { diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/RegexOptions.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/RegexOptions.java index a1dcec2d55..81e524d6e3 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion/RegexOptions.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/RegexOptions.java @@ -38,17 +38,14 @@ import java.io.IOException; * Regular expression options for completion suggester */ public class RegexOptions implements ToXContent, Writeable { - static final String NAME = "regex"; - static final ParseField REGEX_OPTIONS = new ParseField(NAME); - static final ParseField FLAGS_VALUE = new ParseField("flags", "flags_value"); - static final ParseField MAX_DETERMINIZED_STATES = new ParseField("max_determinized_states"); + static final ParseField REGEX_OPTIONS = new ParseField("regex"); + private static final ParseField FLAGS_VALUE = new ParseField("flags", "flags_value"); + private static final ParseField MAX_DETERMINIZED_STATES = new ParseField("max_determinized_states"); - - private static ObjectParser REGEXP_PARSER = - new ObjectParser<>(REGEX_OPTIONS.getPreferredName(), RegexOptions.Builder::new); + private static ObjectParser PARSER = new ObjectParser<>(REGEX_OPTIONS.getPreferredName(), Builder::new); static { - REGEXP_PARSER.declareInt(RegexOptions.Builder::setMaxDeterminizedStates, MAX_DETERMINIZED_STATES); - REGEXP_PARSER.declareField((parser, builder, aVoid) -> { + PARSER.declareInt(Builder::setMaxDeterminizedStates, MAX_DETERMINIZED_STATES); + PARSER.declareField((parser, builder, aVoid) -> { if (parser.currentToken() == XContentParser.Token.VALUE_STRING) { builder.setFlags(parser.text()); } else if (parser.currentToken() == XContentParser.Token.VALUE_NUMBER) { @@ -58,7 +55,7 @@ public class RegexOptions implements ToXContent, Writeable { + " " + FLAGS_VALUE.getPreferredName() + " supports string or number"); } }, FLAGS_VALUE, ObjectParser.ValueType.VALUE); - REGEXP_PARSER.declareStringOrNull(RegexOptions.Builder::setFlags, FLAGS_VALUE); + PARSER.declareStringOrNull(Builder::setFlags, FLAGS_VALUE); } private int flagsValue; @@ -91,8 +88,8 @@ public class RegexOptions implements ToXContent, Writeable { return new Builder(); } - public static RegexOptions parse(XContentParser parser) throws IOException { - return REGEXP_PARSER.parse(parser).build(); + static RegexOptions parse(XContentParser parser) throws IOException { + return PARSER.parse(parser).build(); } @Override diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/ContextMapping.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/ContextMapping.java index 501f4d153d..959a749a85 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion/context/ContextMapping.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/context/ContextMapping.java @@ -96,12 +96,15 @@ public abstract class ContextMapping implements ToXConte */ protected abstract Set parseContext(ParseContext.Document document); + /** + * Prototype for the query context + */ protected abstract T prototype(); /** * Parses query contexts for this mapper */ - public List parseQueryContext(XContentParser parser) throws IOException, ElasticsearchParseException { + public final List parseQueryContext(XContentParser parser) throws IOException, ElasticsearchParseException { List queryContexts = new ArrayList<>(); Token token = parser.nextToken(); if (token == Token.START_OBJECT || token == Token.VALUE_STRING) { @@ -114,6 +117,9 @@ public abstract class ContextMapping implements ToXConte return toInternalQueryContexts(queryContexts); } + /** + * Convert query contexts to common representation + */ protected abstract List toInternalQueryContexts(List queryContexts); /** -- cgit v1.2.3