try { refreshIfNeeded(); final RangeQueryBuilder query = new RangeQueryBuilder(KEY).gte(startkey); final SearchResponse response = client.prepareSearch(indexKey).setQuery(query).setSize(recordcount).get();
switch (range.getLow().getBound()) { case ABOVE: rangeQueryBuilder.must(new RangeQueryBuilder(columnName).gt(getValue(type, range.getLow().getValue()))); break; case EXACTLY: rangeQueryBuilder.must(new RangeQueryBuilder(columnName).gte(getValue(type, range.getLow().getValue()))); break; case BELOW: switch (range.getHigh().getBound()) { case EXACTLY: rangeQueryBuilder.must(new RangeQueryBuilder(columnName).lte(getValue(type, range.getHigh().getValue()))); break; case BELOW: rangeQueryBuilder.must(new RangeQueryBuilder(columnName).lt(getValue(type, range.getHigh().getValue()))); break; case ABOVE:
/** * A Query that matches documents within an range of terms. * * @param name The field name */ public static RangeQueryBuilder rangeQuery(String name) { return new RangeQueryBuilder(name); }
filterBuilder = new RangeQueryBuilder(name).gt(value); filterBuilder = new RangeQueryBuilder(name).lt(value); filterBuilder = new RangeQueryBuilder(name).gte(value); filterBuilder = new RangeQueryBuilder(name).lte(value);
case WITHIN: if (from != null || to != null || format != null || timeZone != null) { RangeQueryBuilder newRangeQuery = new RangeQueryBuilder(fieldName); newRangeQuery.from(null); newRangeQuery.to(null);
/** * A Query that matches documents within an range of terms. * * @param name The field name */ public static RangeQueryBuilder rangeQuery(String name) { return new RangeQueryBuilder(name); }
/** * A Query that matches documents within an range of terms. * * @param name The field name */ public static RangeQueryBuilder rangeQuery(String name) { return new RangeQueryBuilder(name); }
/** * A Query that matches documents within an range of terms. * * @param name The field name */ public static RangeQueryBuilder rangeQuery(String name) { return new RangeQueryBuilder(name); }
/** * A Query that matches documents within an range of terms. * * @param name The field name */ public static RangeQueryBuilder rangeQuery(String name) { return new RangeQueryBuilder(name); }
/** * Returns the range query that is represented by this date range. * * @return the range query builder */ QueryBuilder getQueryBuilder() { RangeQueryBuilder rqb = new RangeQueryBuilder(field); if (startDate != null) rqb.from(DateTimeSupport.toUTC(startDate.getTime())); if (endDate != null) rqb.to(DateTimeSupport.toUTC(endDate.getTime())); return rqb; }
@Override protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws IOException { final MappedFieldType.Relation relation = getRelation(queryRewriteContext); switch (relation) { case DISJOINT: return new MatchNoneQueryBuilder(); case WITHIN: if (from != null || to != null || format != null || timeZone != null) { RangeQueryBuilder newRangeQuery = new RangeQueryBuilder(fieldName); newRangeQuery.from(null); newRangeQuery.to(null); newRangeQuery.format = null; newRangeQuery.timeZone = null; return newRangeQuery; } else { return this; } case INTERSECTS: return this; default: throw new AssertionError(); } }
case WITHIN: if (from != null || to != null || format != null || timeZone != null) { RangeQueryBuilder newRangeQuery = new RangeQueryBuilder(fieldName); newRangeQuery.from(null); newRangeQuery.to(null);
filterBuilder = new RangeQueryBuilder(name).gt(value); filterBuilder = new RangeQueryBuilder(name).lt(value); filterBuilder = new RangeQueryBuilder(name).gte(value); filterBuilder = new RangeQueryBuilder(name).lte(value);
RangeQueryBuilder rangeQuery = new RangeQueryBuilder(fieldName); rangeQuery.from(from); rangeQuery.to(to);
@Override public Page<Movie> query(QueryDTO queryDTO, int pageNo, int size) { SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder().from(from(pageNo, size)).size(size); if (queryDTO.getMinScore() != null) { BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder(); RangeQueryBuilder rangeQueryBuilder = new RangeQueryBuilder("score").gte(queryDTO.getMinScore()); boolQueryBuilder.must(rangeQueryBuilder); searchSourceBuilder.query(boolQueryBuilder); } if (queryDTO.getOrderBy() != null) { searchSourceBuilder.sort(queryDTO.getOrderBy(), SortOrder.DESC); } log.debug("搜索DSL:{}", searchSourceBuilder.toString()); Search search = new Search.Builder(searchSourceBuilder.toString()) .addIndex(INDEX) .addType(TYPE) .build(); try { SearchResult result = client.execute(search); List<Movie> movies = result.getSourceAsObjectList(Movie.class, false); int took = result.getJsonObject().get("took").getAsInt(); Page<Movie> page = Page.<Movie>builder().list(movies).pageNo(pageNo).size(size).total(result.getTotal()).took(took).build(); return page; } catch (IOException e) { log.error("search异常", e); return null; } }
RangeQueryBuilder rangeQuery = new RangeQueryBuilder(fieldName); rangeQuery.from(from); rangeQuery.to(to);
RangeQueryBuilder rangeQuery = new RangeQueryBuilder(fieldName); rangeQuery.from(from); rangeQuery.to(to);
RangeQueryBuilder rangeQuery = new RangeQueryBuilder(fieldName); rangeQuery.from(from); rangeQuery.to(to);