|
@@ -45,6 +45,8 @@ public class SpanNearQueryBuilder extends AbstractQueryBuilder<SpanNearQueryBuil
|
|
|
|
|
|
/** Default for flag controlling whether matches are required to be in-order */
|
|
|
public static boolean DEFAULT_IN_ORDER = true;
|
|
|
+ /** Default slop value, this is the same that lucene {@link SpanNearQuery} uses if no slop is provided */
|
|
|
+ public static int DEFAULT_SLOP = 0;
|
|
|
|
|
|
private static final ParseField SLOP_FIELD = new ParseField("slop");
|
|
|
private static final ParseField CLAUSES_FIELD = new ParseField("clauses");
|
|
@@ -145,8 +147,8 @@ public class SpanNearQueryBuilder extends AbstractQueryBuilder<SpanNearQueryBuil
|
|
|
|
|
|
public static SpanNearQueryBuilder fromXContent(XContentParser parser) throws IOException {
|
|
|
float boost = AbstractQueryBuilder.DEFAULT_BOOST;
|
|
|
- Integer slop = null;
|
|
|
- boolean inOrder = SpanNearQueryBuilder.DEFAULT_IN_ORDER;
|
|
|
+ int slop = DEFAULT_SLOP;
|
|
|
+ boolean inOrder = DEFAULT_IN_ORDER;
|
|
|
String queryName = null;
|
|
|
|
|
|
List<SpanQueryBuilder> clauses = new ArrayList<>();
|
|
@@ -189,10 +191,6 @@ public class SpanNearQueryBuilder extends AbstractQueryBuilder<SpanNearQueryBuil
|
|
|
throw new ParsingException(parser.getTokenLocation(), "span_near must include [clauses]");
|
|
|
}
|
|
|
|
|
|
- if (slop == null) {
|
|
|
- throw new ParsingException(parser.getTokenLocation(), "span_near must include [slop]");
|
|
|
- }
|
|
|
-
|
|
|
SpanNearQueryBuilder queryBuilder = new SpanNearQueryBuilder(clauses.get(0), slop);
|
|
|
for (int i = 1; i < clauses.size(); i++) {
|
|
|
queryBuilder.addClause(clauses.get(i));
|