Reuse suggester implementations in suggest parsers

This commit is contained in:
Alexander Reelsen 2013-05-29 15:07:23 +02:00
parent 8a5b7b21df
commit 03a86604a4
4 changed files with 13 additions and 4 deletions

View File

@ -35,7 +35,11 @@ import org.elasticsearch.search.suggest.phrase.PhraseSuggestionContext.DirectCan
public final class PhraseSuggestParser implements SuggestContextParser {
private final PhraseSuggester suggester = new PhraseSuggester();
private PhraseSuggester suggester;
public PhraseSuggestParser(PhraseSuggester suggester) {
this.suggester = suggester;
}
public SuggestionSearchContext.SuggestionContext parse(XContentParser parser, MapperService mapperService) throws IOException {
PhraseSuggestionContext suggestion = new PhraseSuggestionContext(suggester);

View File

@ -89,7 +89,7 @@ public final class PhraseSuggester implements Suggester<PhraseSuggestionContext>
@Override
public SuggestContextParser getContextParser() {
return new PhraseSuggestParser();
return new PhraseSuggestParser(this);
}
}

View File

@ -29,7 +29,12 @@ import org.elasticsearch.search.suggest.SuggestUtils;
import org.elasticsearch.search.suggest.SuggestionSearchContext;
public final class TermSuggestParser implements SuggestContextParser {
private final TermSuggester suggester = new TermSuggester();
private TermSuggester suggester;
public TermSuggestParser(TermSuggester suggester) {
this.suggester = suggester;
}
public SuggestionSearchContext.SuggestionContext parse(XContentParser parser, MapperService mapperService) throws IOException {
XContentParser.Token token;

View File

@ -70,7 +70,7 @@ public final class TermSuggester implements Suggester<TermSuggestionContext> {
@Override
public SuggestContextParser getContextParser() {
return new TermSuggestParser();
return new TermSuggestParser(this);
}