Span first must have end set for it – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when the “end” parameter is not set for the “span_first” query in Elasticsearch. The “span_first” query allows you to define how far into the document the term should exist. The “end” parameter specifies the maximum end position permitted in a match. To resolve this issue, ensure that you have set the “end” parameter in your “span_first” query. If the “end” parameter is missing, the query will not know where to stop and hence the error.

This guide will help you check for common problems that cause the log ” span_first must have [end] set for it ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: query, index.

Log Context

Log “span_first must have [end] set for it” class name is We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 if (match == null) {
 throw new ParsingException(parser.getTokenLocation(); "span_first must have [match] span query clause");
 if (end == null) {
 throw new ParsingException(parser.getTokenLocation(); "span_first must have [end] set for it");
 SpanFirstQueryBuilder queryBuilder = new SpanFirstQueryBuilder(match; end);
 return queryBuilder;