diff options
author | Christoph Büscher <christoph@elastic.co> | 2016-01-26 09:59:11 +0100 |
---|---|---|
committer | Christoph Büscher <christoph@elastic.co> | 2016-01-27 17:16:37 +0100 |
commit | c00c0fa020a2ab3391a38312aba898db517f9f47 (patch) | |
tree | a48988c77087da01fe78cd1d055bbe284a5f0322 /core/src/main/java/org/elasticsearch/search/suggest/completion | |
parent | 60180fecf8edfcb162099148aec57c7ff27f934f (diff) |
Initial refactoring for phrase suggester
Adding initial serialization methods (readFrom, writeTo) to the
PhraseSuggestionBuilder, also adding the base test framework for
serialiazation testing, equals and hashCode. Moving SuggestionBuilder
out of the global SuggestBuilder for better readability.
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/suggest/completion')
-rw-r--r-- | core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java | 47 |
1 files changed, 40 insertions, 7 deletions
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 9cf78ea667..1b515e7540 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 @@ -22,11 +22,13 @@ import org.apache.lucene.search.suggest.document.FuzzyCompletionQuery; import org.apache.lucene.util.automaton.Operations; import org.apache.lucene.util.automaton.RegExp; import org.elasticsearch.common.ParseField; +import org.elasticsearch.common.io.stream.StreamInput; +import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.unit.Fuzziness; import org.elasticsearch.common.xcontent.ToXContent; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.index.query.RegexpFlag; -import org.elasticsearch.search.suggest.SuggestBuilder; +import org.elasticsearch.search.suggest.SuggestionBuilder; import org.elasticsearch.search.suggest.completion.context.CategoryQueryContext; import org.elasticsearch.search.suggest.completion.context.GeoQueryContext; @@ -45,7 +47,7 @@ import java.util.Set; * are created at index-time and so must be defined in the mapping with the type "completion" before * indexing. */ -public class CompletionSuggestionBuilder extends SuggestBuilder.SuggestionBuilder<CompletionSuggestionBuilder> { +public class CompletionSuggestionBuilder extends SuggestionBuilder<CompletionSuggestionBuilder> { final static String SUGGESTION_NAME = "completion"; static final ParseField PAYLOAD_FIELD = new ParseField("payload"); @@ -56,7 +58,7 @@ public class CompletionSuggestionBuilder extends SuggestBuilder.SuggestionBuilde private final Set<String> payloadFields = new HashSet<>(); public CompletionSuggestionBuilder(String name) { - super(name, SUGGESTION_NAME); + super(name); } /** @@ -255,8 +257,9 @@ public class CompletionSuggestionBuilder extends SuggestBuilder.SuggestionBuilde * Sets the prefix to provide completions for. * The prefix gets analyzed by the suggest analyzer. */ + @Override public CompletionSuggestionBuilder prefix(String prefix) { - super.setPrefix(prefix); + super.prefix(prefix); return this; } @@ -264,7 +267,7 @@ public class CompletionSuggestionBuilder extends SuggestBuilder.SuggestionBuilde * Same as {@link #prefix(String)} with fuzziness of <code>fuzziness</code> */ public CompletionSuggestionBuilder prefix(String prefix, Fuzziness fuzziness) { - super.setPrefix(prefix); + super.prefix(prefix); this.fuzzyOptionsBuilder = new FuzzyOptionsBuilder().setFuzziness(fuzziness); return this; } @@ -274,7 +277,7 @@ public class CompletionSuggestionBuilder extends SuggestBuilder.SuggestionBuilde * see {@link FuzzyOptionsBuilder} */ public CompletionSuggestionBuilder prefix(String prefix, FuzzyOptionsBuilder fuzzyOptionsBuilder) { - super.setPrefix(prefix); + super.prefix(prefix); this.fuzzyOptionsBuilder = fuzzyOptionsBuilder; return this; } @@ -282,8 +285,9 @@ public class CompletionSuggestionBuilder extends SuggestBuilder.SuggestionBuilde /** * Sets a regular expression pattern for prefixes to provide completions for. */ + @Override public CompletionSuggestionBuilder regex(String regex) { - super.setRegex(regex); + super.regex(regex); return this; } @@ -362,4 +366,33 @@ public class CompletionSuggestionBuilder extends SuggestBuilder.SuggestionBuilde } return builder; } + + @Override + public String getWriteableName() { + return SUGGESTION_NAME; + } + + @Override + public void doWriteTo(StreamOutput out) throws IOException { + // NORELEASE + throw new UnsupportedOperationException(); + } + + @Override + public CompletionSuggestionBuilder doReadFrom(StreamInput in, String name) throws IOException { + // NORELEASE + throw new UnsupportedOperationException(); + } + + @Override + protected boolean doEquals(CompletionSuggestionBuilder other) { + // NORELEASE + return false; + } + + @Override + protected int doHashCode() { + // NORELEASE + return 0; + } } |