From b2fedcaac52e9b05b3f2ad70e344e2ec7fc8c05c Mon Sep 17 00:00:00 2001 From: iksnalybok Date: Thu, 30 May 2013 22:49:09 +0200 Subject: [PATCH 1/2] Allow slop = -1 in span-near queries --- .../org/elasticsearch/index/query/SpanNearQueryParser.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/elasticsearch/index/query/SpanNearQueryParser.java b/src/main/java/org/elasticsearch/index/query/SpanNearQueryParser.java index 2022f08496799..d22f9092dfb35 100644 --- a/src/main/java/org/elasticsearch/index/query/SpanNearQueryParser.java +++ b/src/main/java/org/elasticsearch/index/query/SpanNearQueryParser.java @@ -52,7 +52,7 @@ public Query parse(QueryParseContext parseContext) throws IOException, QueryPars XContentParser parser = parseContext.parser(); float boost = 1.0f; - int slop = -1; + int slop = Integer.MIN_VALUE; boolean inOrder = true; boolean collectPayloads = true; @@ -94,7 +94,7 @@ public Query parse(QueryParseContext parseContext) throws IOException, QueryPars if (clauses.isEmpty()) { throw new QueryParsingException(parseContext.index(), "span_near must include [clauses]"); } - if (slop == -1) { + if (slop == Integer.MIN_VALUE) { throw new QueryParsingException(parseContext.index(), "span_near must include [slop]"); } @@ -102,4 +102,4 @@ public Query parse(QueryParseContext parseContext) throws IOException, QueryPars query.setBoost(boost); return query; } -} \ No newline at end of file +} From 33c66a7cf5ceb47a23997f387e30286355c51b9f Mon Sep 17 00:00:00 2001 From: iksnalybok Date: Fri, 31 May 2013 00:49:50 +0200 Subject: [PATCH 2/2] Allow slop = -1 in span-near queries (null if not set) --- .../elasticsearch/index/query/SpanNearQueryParser.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/elasticsearch/index/query/SpanNearQueryParser.java b/src/main/java/org/elasticsearch/index/query/SpanNearQueryParser.java index d22f9092dfb35..c0e69d32d55ed 100644 --- a/src/main/java/org/elasticsearch/index/query/SpanNearQueryParser.java +++ b/src/main/java/org/elasticsearch/index/query/SpanNearQueryParser.java @@ -52,7 +52,7 @@ public Query parse(QueryParseContext parseContext) throws IOException, QueryPars XContentParser parser = parseContext.parser(); float boost = 1.0f; - int slop = Integer.MIN_VALUE; + Integer slop = null; boolean inOrder = true; boolean collectPayloads = true; @@ -81,7 +81,7 @@ public Query parse(QueryParseContext parseContext) throws IOException, QueryPars } else if ("collect_payloads".equals(currentFieldName) || "collectPayloads".equals(currentFieldName)) { collectPayloads = parser.booleanValue(); } else if ("slop".equals(currentFieldName)) { - slop = parser.intValue(); + slop = Integer.valueOf(parser.intValue()); } else if ("boost".equals(currentFieldName)) { boost = parser.floatValue(); } else { @@ -94,11 +94,11 @@ public Query parse(QueryParseContext parseContext) throws IOException, QueryPars if (clauses.isEmpty()) { throw new QueryParsingException(parseContext.index(), "span_near must include [clauses]"); } - if (slop == Integer.MIN_VALUE) { + if (slop == null) { throw new QueryParsingException(parseContext.index(), "span_near must include [slop]"); } - SpanNearQuery query = new SpanNearQuery(clauses.toArray(new SpanQuery[clauses.size()]), slop, inOrder, collectPayloads); + SpanNearQuery query = new SpanNearQuery(clauses.toArray(new SpanQuery[clauses.size()]), slop.intValue(), inOrder, collectPayloads); query.setBoost(boost); return query; }