|
@@ -132,7 +132,7 @@ public class SpanNotQueryBuilderTests extends AbstractQueryTestCase<SpanNotQuery
|
|
|
builder.endObject();
|
|
|
|
|
|
ParsingException e = expectThrows(ParsingException.class, () -> parseQuery(Strings.toString(builder)));
|
|
|
- assertThat(e.getDetailedMessage(), containsString("spanNot must have [include]"));
|
|
|
+ assertThat(e.getDetailedMessage(), containsString("span_not must have [include]"));
|
|
|
}
|
|
|
{
|
|
|
XContentBuilder builder = XContentFactory.jsonBuilder();
|
|
@@ -146,7 +146,7 @@ public class SpanNotQueryBuilderTests extends AbstractQueryTestCase<SpanNotQuery
|
|
|
builder.endObject();
|
|
|
|
|
|
ParsingException e = expectThrows(ParsingException.class, () -> parseQuery(Strings.toString(builder)));
|
|
|
- assertThat(e.getDetailedMessage(), containsString("spanNot must have [exclude]"));
|
|
|
+ assertThat(e.getDetailedMessage(), containsString("span_not must have [exclude]"));
|
|
|
}
|
|
|
{
|
|
|
XContentBuilder builder = XContentFactory.jsonBuilder();
|
|
@@ -163,7 +163,7 @@ public class SpanNotQueryBuilderTests extends AbstractQueryTestCase<SpanNotQuery
|
|
|
builder.endObject();
|
|
|
|
|
|
ParsingException e = expectThrows(ParsingException.class, () -> parseQuery(Strings.toString(builder)));
|
|
|
- assertThat(e.getDetailedMessage(), containsString("spanNot can either use [dist] or [pre] & [post] (or none)"));
|
|
|
+ assertThat(e.getDetailedMessage(), containsString("span_not can either use [dist] or [pre] & [post] (or none)"));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -203,7 +203,7 @@ public class SpanNotQueryBuilderTests extends AbstractQueryTestCase<SpanNotQuery
|
|
|
" },\n" +
|
|
|
" \"pre\" : 0,\n" +
|
|
|
" \"post\" : 0,\n" +
|
|
|
- " \"boost\" : 1.0\n" +
|
|
|
+ " \"boost\" : 2.0\n" +
|
|
|
" }\n" +
|
|
|
"}";
|
|
|
|
|
@@ -212,5 +212,97 @@ public class SpanNotQueryBuilderTests extends AbstractQueryTestCase<SpanNotQuery
|
|
|
|
|
|
assertEquals(json, "hoya", ((SpanTermQueryBuilder) parsed.includeQuery()).value());
|
|
|
assertEquals(json, 2, ((SpanNearQueryBuilder) parsed.excludeQuery()).clauses().size());
|
|
|
+ assertEquals(json, 2.0, parsed.boost(), 0.0);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void testFromJsonWithNonDefaultBoostInIncludeQuery() {
|
|
|
+ String json =
|
|
|
+ "{\n" +
|
|
|
+ " \"span_not\" : {\n" +
|
|
|
+ " \"exclude\" : {\n" +
|
|
|
+ " \"span_term\" : {\n" +
|
|
|
+ " \"field1\" : {\n" +
|
|
|
+ " \"value\" : \"hoya\",\n" +
|
|
|
+ " \"boost\" : 1.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"include\" : {\n" +
|
|
|
+ " \"span_near\" : {\n" +
|
|
|
+ " \"clauses\" : [ {\n" +
|
|
|
+ " \"span_term\" : {\n" +
|
|
|
+ " \"field1\" : {\n" +
|
|
|
+ " \"value\" : \"la\",\n" +
|
|
|
+ " \"boost\" : 1.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ " }\n" +
|
|
|
+ " }, {\n" +
|
|
|
+ " \"span_term\" : {\n" +
|
|
|
+ " \"field1\" : {\n" +
|
|
|
+ " \"value\" : \"hoya\",\n" +
|
|
|
+ " \"boost\" : 1.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ " }\n" +
|
|
|
+ " } ],\n" +
|
|
|
+ " \"slop\" : 0,\n" +
|
|
|
+ " \"in_order\" : true,\n" +
|
|
|
+ " \"boost\" : 2.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"pre\" : 0,\n" +
|
|
|
+ " \"post\" : 0,\n" +
|
|
|
+ " \"boost\" : 1.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ "}";
|
|
|
+
|
|
|
+ Exception exception = expectThrows(ParsingException.class, () -> parseQuery(json));
|
|
|
+ assertThat(exception.getMessage(),
|
|
|
+ equalTo("span_not [include] as a nested span clause can't have non-default boost value [2.0]"));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public void testFromJsonWithNonDefaultBoostInExcludeQuery() {
|
|
|
+ String json =
|
|
|
+ "{\n" +
|
|
|
+ " \"span_not\" : {\n" +
|
|
|
+ " \"include\" : {\n" +
|
|
|
+ " \"span_term\" : {\n" +
|
|
|
+ " \"field1\" : {\n" +
|
|
|
+ " \"value\" : \"hoya\",\n" +
|
|
|
+ " \"boost\" : 1.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"exclude\" : {\n" +
|
|
|
+ " \"span_near\" : {\n" +
|
|
|
+ " \"clauses\" : [ {\n" +
|
|
|
+ " \"span_term\" : {\n" +
|
|
|
+ " \"field1\" : {\n" +
|
|
|
+ " \"value\" : \"la\",\n" +
|
|
|
+ " \"boost\" : 1.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ " }\n" +
|
|
|
+ " }, {\n" +
|
|
|
+ " \"span_term\" : {\n" +
|
|
|
+ " \"field1\" : {\n" +
|
|
|
+ " \"value\" : \"hoya\",\n" +
|
|
|
+ " \"boost\" : 1.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ " }\n" +
|
|
|
+ " } ],\n" +
|
|
|
+ " \"slop\" : 0,\n" +
|
|
|
+ " \"in_order\" : true,\n" +
|
|
|
+ " \"boost\" : 2.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"pre\" : 0,\n" +
|
|
|
+ " \"post\" : 0,\n" +
|
|
|
+ " \"boost\" : 1.0\n" +
|
|
|
+ " }\n" +
|
|
|
+ "}";
|
|
|
+
|
|
|
+ Exception exception = expectThrows(ParsingException.class, () -> parseQuery(json));
|
|
|
+ assertThat(exception.getMessage(),
|
|
|
+ equalTo("span_not [exclude] as a nested span clause can't have non-default boost value [2.0]"));
|
|
|
}
|
|
|
}
|