public void testFromJson() throws IOException { String json = "{\n" + " \"query_string\" : {\n" + " \"query\" : \"this AND that OR thus\",\n" + " \"default_field\" : \"content\",\n" + " \"fields\" : [ ],\n" + " \"use_dis_max\" : true,\n" + " \"tie_breaker\" : 0.0,\n" + " \"default_operator\" : \"or\",\n" + " \"auto_generated_phrase_queries\" : false,\n" + " \"max_determined_states\" : 10000,\n" + " \"lowercase_expanded_terms\" : true,\n" + " \"enable_position_increment\" : true,\n" + " \"fuzziness\" : \"AUTO\",\n" + " \"fuzzy_prefix_length\" : 0,\n" + " \"fuzzy_max_expansions\" : 50,\n" + " \"phrase_slop\" : 0,\n" + " \"locale\" : \"und\",\n" + " \"escape\" : false,\n" + " \"boost\" : 1.0\n" + " }\n" + "}"; QueryStringQueryBuilder parsed = (QueryStringQueryBuilder) parseQuery(json); checkGeneratedJson(json, parsed); assertEquals(json, "this AND that OR thus", parsed.queryString()); assertEquals(json, "content", parsed.defaultField()); }
@Override protected void doAssertLuceneQuery( QueryStringQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException { if ("".equals(queryBuilder.queryString())) { assertThat(query, instanceOf(MatchNoDocsQuery.class)); } else { assertThat( query, either(instanceOf(TermQuery.class)) .or(instanceOf(AllTermQuery.class)) .or(instanceOf(BooleanQuery.class)) .or(instanceOf(DisjunctionMaxQuery.class))); } }