diff options
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; |