コード例 #1
0
 @Override
 protected Map<String, RangeQueryBuilder> getAlternateVersions() {
   Map<String, RangeQueryBuilder> alternateVersions = new HashMap<>();
   RangeQueryBuilder rangeQueryBuilder = new RangeQueryBuilder(INT_FIELD_NAME);
   rangeQueryBuilder.from(randomIntBetween(1, 100)).to(randomIntBetween(101, 200));
   rangeQueryBuilder.includeLower(randomBoolean());
   rangeQueryBuilder.includeUpper(randomBoolean());
   String query =
       "{\n"
           + "    \"range\":{\n"
           + "        \""
           + INT_FIELD_NAME
           + "\": {\n"
           + "            \""
           + (rangeQueryBuilder.includeLower() ? "gte" : "gt")
           + "\": "
           + rangeQueryBuilder.from()
           + ",\n"
           + "            \""
           + (rangeQueryBuilder.includeUpper() ? "lte" : "lt")
           + "\": "
           + rangeQueryBuilder.to()
           + "\n"
           + "        }\n"
           + "    }\n"
           + "}";
   alternateVersions.put(query, rangeQueryBuilder);
   return alternateVersions;
 }
コード例 #2
0
 @Override
 protected void doAssertLuceneQuery(
     RangeQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException {
   if (getCurrentTypes().length == 0
       || (queryBuilder.fieldName().equals(DATE_FIELD_NAME) == false
           && queryBuilder.fieldName().equals(INT_FIELD_NAME) == false)) {
     assertThat(query, instanceOf(TermRangeQuery.class));
     TermRangeQuery termRangeQuery = (TermRangeQuery) query;
     assertThat(termRangeQuery.getField(), equalTo(queryBuilder.fieldName()));
     assertThat(termRangeQuery.getLowerTerm(), equalTo(BytesRefs.toBytesRef(queryBuilder.from())));
     assertThat(termRangeQuery.getUpperTerm(), equalTo(BytesRefs.toBytesRef(queryBuilder.to())));
     assertThat(termRangeQuery.includesLower(), equalTo(queryBuilder.includeLower()));
     assertThat(termRangeQuery.includesUpper(), equalTo(queryBuilder.includeUpper()));
   } else if (queryBuilder.fieldName().equals(DATE_FIELD_NAME)) {
     // we can't properly test unmapped dates because LateParsingQuery is package private
   } else if (queryBuilder.fieldName().equals(INT_FIELD_NAME)) {
     assertThat(query, instanceOf(NumericRangeQuery.class));
     NumericRangeQuery numericRangeQuery = (NumericRangeQuery) query;
     assertThat(numericRangeQuery.getField(), equalTo(queryBuilder.fieldName()));
     assertThat(numericRangeQuery.getMin(), equalTo(queryBuilder.from()));
     assertThat(numericRangeQuery.getMax(), equalTo(queryBuilder.to()));
     assertThat(numericRangeQuery.includesMin(), equalTo(queryBuilder.includeLower()));
     assertThat(numericRangeQuery.includesMax(), equalTo(queryBuilder.includeUpper()));
   } else {
     throw new UnsupportedOperationException();
   }
 }