Fix NPE in SearchSourceBuilder
Prevent a NPE when parsing `fields` parameter and internal field name list has not been initialized. Closes #16902
This commit is contained in:
parent
5bb744bfde
commit
299b9d9b63
|
@ -40,18 +40,17 @@ import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
import org.elasticsearch.common.xcontent.XContentType;
|
import org.elasticsearch.common.xcontent.XContentType;
|
||||||
import org.elasticsearch.index.query.QueryBuilder;
|
import org.elasticsearch.index.query.QueryBuilder;
|
||||||
import org.elasticsearch.index.query.QueryParseContext;
|
import org.elasticsearch.index.query.QueryParseContext;
|
||||||
import org.elasticsearch.index.query.QueryRewriteContext;
|
|
||||||
import org.elasticsearch.script.Script;
|
import org.elasticsearch.script.Script;
|
||||||
import org.elasticsearch.search.searchafter.SearchAfterBuilder;
|
|
||||||
import org.elasticsearch.search.aggregations.AggregatorBuilder;
|
import org.elasticsearch.search.aggregations.AggregatorBuilder;
|
||||||
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorBuilder;
|
|
||||||
import org.elasticsearch.search.aggregations.AggregatorFactories;
|
import org.elasticsearch.search.aggregations.AggregatorFactories;
|
||||||
import org.elasticsearch.search.aggregations.AggregatorParsers;
|
import org.elasticsearch.search.aggregations.AggregatorParsers;
|
||||||
|
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorBuilder;
|
||||||
import org.elasticsearch.search.fetch.innerhits.InnerHitsBuilder;
|
import org.elasticsearch.search.fetch.innerhits.InnerHitsBuilder;
|
||||||
import org.elasticsearch.search.fetch.source.FetchSourceContext;
|
import org.elasticsearch.search.fetch.source.FetchSourceContext;
|
||||||
import org.elasticsearch.search.highlight.HighlightBuilder;
|
import org.elasticsearch.search.highlight.HighlightBuilder;
|
||||||
import org.elasticsearch.search.internal.SearchContext;
|
import org.elasticsearch.search.internal.SearchContext;
|
||||||
import org.elasticsearch.search.rescore.RescoreBuilder;
|
import org.elasticsearch.search.rescore.RescoreBuilder;
|
||||||
|
import org.elasticsearch.search.searchafter.SearchAfterBuilder;
|
||||||
import org.elasticsearch.search.sort.SortBuilder;
|
import org.elasticsearch.search.sort.SortBuilder;
|
||||||
import org.elasticsearch.search.sort.SortBuilders;
|
import org.elasticsearch.search.sort.SortBuilders;
|
||||||
import org.elasticsearch.search.sort.SortOrder;
|
import org.elasticsearch.search.sort.SortOrder;
|
||||||
|
@ -779,7 +778,7 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ
|
||||||
} else if (context.parseFieldMatcher().match(currentFieldName, _SOURCE_FIELD)) {
|
} else if (context.parseFieldMatcher().match(currentFieldName, _SOURCE_FIELD)) {
|
||||||
fetchSourceContext = FetchSourceContext.parse(parser, context);
|
fetchSourceContext = FetchSourceContext.parse(parser, context);
|
||||||
} else if (context.parseFieldMatcher().match(currentFieldName, FIELDS_FIELD)) {
|
} else if (context.parseFieldMatcher().match(currentFieldName, FIELDS_FIELD)) {
|
||||||
fieldNames.add(parser.text());
|
field(parser.text());
|
||||||
} else if (context.parseFieldMatcher().match(currentFieldName, SORT_FIELD)) {
|
} else if (context.parseFieldMatcher().match(currentFieldName, SORT_FIELD)) {
|
||||||
sort(parser.text());
|
sort(parser.text());
|
||||||
} else if (context.parseFieldMatcher().match(currentFieldName, PROFILE_FIELD)) {
|
} else if (context.parseFieldMatcher().match(currentFieldName, PROFILE_FIELD)) {
|
||||||
|
|
Loading…
Reference in New Issue