summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/search/suggest/completion
diff options
context:
space:
mode:
authorChristoph Büscher <christoph@elastic.co>2017-02-16 17:59:55 +0100
committerGitHub <noreply@github.com>2017-02-16 17:59:55 +0100
commit268d15ec4cdbc85330ee4f28ca6974ff27326de9 (patch)
treeb01959feb5e22ee5e55d3fcdce37e2274e294655 /core/src/main/java/org/elasticsearch/search/suggest/completion
parent76675229c7eb64ee2dbd41ec4a8258d74a3f1d03 (diff)
Adding fromXContent to Suggestion.Entry and subclasses (#23202)
This adds parsing from xContent to Suggestion.Entry and its subclasses for Terms-, Phrase- and CompletionSuggestion.Entry.
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/suggest/completion')
-rw-r--r--core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestion.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestion.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestion.java
index 33ff15fbbb..51b44a300d 100644
--- a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestion.java
+++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestion.java
@@ -194,8 +194,7 @@ public final class CompletionSuggestion extends Suggest.Suggestion<CompletionSug
super(text, offset, length);
}
- protected Entry() {
- super();
+ Entry() {
}
@Override
@@ -203,6 +202,18 @@ public final class CompletionSuggestion extends Suggest.Suggestion<CompletionSug
return new Option();
}
+ private static ObjectParser<Entry, Void> PARSER = new ObjectParser<>("CompletionSuggestionEntryParser", true,
+ Entry::new);
+
+ static {
+ declareCommonFields(PARSER);
+ PARSER.declareObjectArray(Entry::addOptions, (p,c) -> Option.fromXContent(p), new ParseField(OPTIONS));
+ }
+
+ public static Entry fromXContent(XContentParser parser) {
+ return PARSER.apply(parser, null);
+ }
+
public static class Option extends Suggest.Suggestion.Entry.Option {
private Map<String, Set<CharSequence>> contexts = Collections.emptyMap();
private ScoreDoc doc;