diff options
author | Christoph Büscher <christoph@elastic.co> | 2017-02-16 17:59:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-16 17:59:55 +0100 |
commit | 268d15ec4cdbc85330ee4f28ca6974ff27326de9 (patch) | |
tree | b01959feb5e22ee5e55d3fcdce37e2274e294655 /core/src/main/java/org/elasticsearch/search/suggest/completion | |
parent | 76675229c7eb64ee2dbd41ec4a8258d74a3f1d03 (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.java | 15 |
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; |