@Override protected void doAssertLuceneQuery( SpanNotQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException { assertThat(query, instanceOf(SpanNotQuery.class)); SpanNotQuery spanNotQuery = (SpanNotQuery) query; assertThat(spanNotQuery.getExclude(), equalTo(queryBuilder.excludeQuery().toQuery(context))); assertThat(spanNotQuery.getInclude(), equalTo(queryBuilder.includeQuery().toQuery(context))); }
public void testFromJson() throws IOException { 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\" : 1.0\n" + " }\n" + " },\n" + " \"pre\" : 0,\n" + " \"post\" : 0,\n" + " \"boost\" : 1.0\n" + " }\n" + "}"; SpanNotQueryBuilder parsed = (SpanNotQueryBuilder) parseQuery(json); checkGeneratedJson(json, parsed); assertEquals(json, "hoya", ((SpanTermQueryBuilder) parsed.includeQuery()).value()); assertEquals(json, 2, ((SpanNearQueryBuilder) parsed.excludeQuery()).clauses().size()); }
/** * test correct parsing of `dist` parameter, this should create builder with pre/post set to same * value */ public void testParseDist() throws IOException { XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); builder.startObject(SpanNotQueryBuilder.NAME); builder.field("exclude"); spanTermQuery("description", "jumped").toXContent(builder, null); builder.field("include"); spanNearQuery(QueryBuilders.spanTermQuery("description", "quick"), 1) .clause(QueryBuilders.spanTermQuery("description", "fox")) .toXContent(builder, null); builder.field("dist", 3); builder.endObject(); builder.endObject(); SpanNotQueryBuilder query = (SpanNotQueryBuilder) parseQuery(builder.string()); assertThat(query.pre(), equalTo(3)); assertThat(query.post(), equalTo(3)); assertNotNull(query.includeQuery()); assertNotNull(query.excludeQuery()); }