@Override public void visit( LessThan op ) throws NoIndexException { final String name = op.getProperty().getValue().toLowerCase(); final Object value = op.getLiteral().getValue(); final RangeFilterBuilder termQuery = FilterBuilders.rangeFilter( getFieldNameForType( value ) ).lt(sanitize(value)); queryBuilders.push( NoOpQueryBuilder.INSTANCE ); //we do this by query, push empty filterBuilders.push( fieldNameTerm( name, termQuery ) ); }
return FilterBuilders.notFilter(FilterBuilders.inFilter(key, value)); case LESS_THAN: return FilterBuilders.rangeFilter(key).lt(value); case LESS_THAN_EQUAL: return FilterBuilders.rangeFilter(key).lte(value); return FilterBuilders.notFilter(FilterBuilders.inFilter(key, value)); case LESS_THAN: return FilterBuilders.rangeFilter(key).lt(value); case LESS_THAN_EQUAL: return FilterBuilders.rangeFilter(key).lte(value);
bfb = rfb.gt(term.getValue()); } else if ("<".equals(matcher.group(1))) { bfb = rfb.lt(term.getValue()); } else if (">=".equals(matcher.group(1))) { bfb = rfb.gte(term.getValue());
@Override public void buildSearchForIndexedDocumentsNotUpdatedAfter(SearchRequestBuilder srb, String jiraProjectKey, Date date) { FilterBuilder filterTime = FilterBuilders.rangeFilter("_timestamp").lt(date); FilterBuilder filterProject = FilterBuilders.termFilter(indexFieldForProjectKey, jiraProjectKey); FilterBuilder filterSource = FilterBuilders.termFilter(indexFieldForRiverName, riverName); FilterBuilder filter = FilterBuilders.boolFilter().must(filterTime).must(filterProject).must(filterSource); srb.setQuery(QueryBuilders.matchAllQuery()).addField("_id").setPostFilter(filter); Set<String> st = new LinkedHashSet<String>(); st.add(issueTypeName); if (commentIndexingMode.isExtraDocumentIndexed()) st.add(commentTypeName); if (changelogIndexingMode.isExtraDocumentIndexed()) st.add(changelogTypeName); srb.setTypes(st.toArray(new String[st.size()])); }
private FilterBuilder getFilter(FilterClause clause, final EntityMetadata metadata, final EntityType entityType) { String condition = clause.getCondition(); Object value = clause.getValue(); String name = clause.getProperty(); FilterBuilder filterBuilder = null; if (condition.equals("=")) { filterBuilder = new TermFilterBuilder(name, value); } else if (condition.equals(">")) { filterBuilder = new RangeFilterBuilder(name).gt(value); } else if (condition.equals("<")) { filterBuilder = new RangeFilterBuilder(name).lt(value); } else if (condition.equals(">=")) { filterBuilder = new RangeFilterBuilder(name).gte(value); } else if (condition.equals("<=")) { filterBuilder = new RangeFilterBuilder(name).lte(value); } return filterBuilder; }
/** * Batch processing oriented API to retrieve deployment status events. This API is not intended for frequent requests but can retrieve lot of data. * * @return */ @ApiOperation(value = "Get deployment status events from a given date.", notes = "Batch processing oriented API to retrieve deployment status events. This API is not intended for frequent requests but can retrieve lot of data.", authorizations = { @Authorization("ADMIN"), @Authorization("APPLICATION_MANAGER") }) @RequestMapping(value = "/status/scroll", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @PreAuthorize("hasAuthority('ADMIN')") public ScrollJsonResult get(@RequestBody @Valid ScrollTimedRequest timedRequest) { RangeFilterBuilder dateFilter = FilterBuilders.rangeFilter("date").gte(timedRequest.getIntervalStart()); if (timedRequest.getIntervalEnd() != null) { dateFilter.lt(timedRequest.getIntervalEnd()); } SearchResponse response = monitorDao.getClient().prepareSearch(monitorDao.getIndexForType(PaaSDeploymentStatusMonitorEvent.class)) .setTypes(MappingBuilder.indexTypeFromClass(PaaSDeploymentStatusMonitorEvent.class)).setQuery(QueryBuilders.constantScoreQuery(dateFilter)) .setScroll(TimeValue.timeValueMinutes(5)).setSize(timedRequest.getSize()).get(); return convert(response); }
break; case LESS_THAN: filters.add(FilterBuilders.rangeFilter(propertyName).lt(value)); break; case NOT_EQUAL:
/** * Batch processing oriented API to retrieve deployment status events. This API is not intended for frequent requests but can retrieve lot of data. * * @return */ @ApiOperation(value = "Get deployment status events from a given date.", notes = "Batch processing oriented API to retrieve deployment status events. This API is not intended for frequent requests but can retrieve lot of data.", authorizations = { @Authorization("ADMIN"), @Authorization("APPLICATION_MANAGER") }) @RequestMapping(value = "/status", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @PreAuthorize("hasAuthority('ADMIN')") public GetMultipleJsonResult get(@RequestBody @Valid TimedRequest timedRequest) { RangeFilterBuilder dateFilter = FilterBuilders.rangeFilter("date").gte(timedRequest.getIntervalStart()); if (timedRequest.getIntervalEnd() != null) { dateFilter.lt(timedRequest.getIntervalEnd()); } SearchResponse response = monitorDao.getClient().prepareSearch(monitorDao.getIndexForType(PaaSDeploymentStatusMonitorEvent.class)) .setTypes(MappingBuilder.indexTypeFromClass(PaaSDeploymentStatusMonitorEvent.class)).setQuery(QueryBuilders.constantScoreQuery(dateFilter)) .setFrom(timedRequest.getFrom()).setSize(timedRequest.getSize()).get(); GetMultipleJsonResult result = new GetMultipleJsonResult(); result.setData(ResponseUtil.rawMultipleData(response)); result.setTotalResults(response.getHits().getTotalHits()); result.setQueryDuration(response.getTookInMillis()); return result; }
break; case LESS_THAN: filters.add(FilterBuilders.rangeFilter(key).lt(value)); break; case NOT_EQUAL:
break; case ("lt"): boolFilterBuilder.must(FilterBuilders.rangeFilter(key).lt(value)); break; case ("lte"):
break; case LESS_THAN: filters.add(FilterBuilders.rangeFilter(key).lt(value)); break; case NOT_EQUAL:
break; case LESS_THAN: filters.add(FilterBuilders.rangeFilter(key).lt(value)); break; case NOT_EQUAL:
return FilterBuilders.notFilter(FilterBuilders.inFilter(key, value)); case LESS_THAN: return FilterBuilders.rangeFilter(key).lt(value); case LESS_THAN_EQUAL: return FilterBuilders.rangeFilter(key).lte(value);
return FilterBuilders.notFilter(FilterBuilders.inFilter(key, value)); case LESS_THAN: return FilterBuilders.rangeFilter(key).lt(value); case LESS_THAN_EQUAL: return FilterBuilders.rangeFilter(key).lte(value);