@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 ) ); }
@Override public void visit( GreaterThanEqual op ) throws NoIndexException { String name = op.getProperty().getValue().toLowerCase(); Object value = op.getLiteral().getValue(); final RangeFilterBuilder rangeQuery = FilterBuilders.rangeFilter( getFieldNameForType( value ) ).gte(sanitize(value)); filterBuilders.push(fieldNameTerm(name, rangeQuery)); queryBuilders.push( NoOpQueryBuilder.INSTANCE ); }
@Override public void visit( LessThanEqual op ) throws NoIndexException { final String name = op.getProperty().getValue().toLowerCase(); final Object value = op.getLiteral().getValue(); final RangeFilterBuilder termQuery = FilterBuilders.rangeFilter( getFieldNameForType( value ) ).lte(sanitize(value)); queryBuilders.push( NoOpQueryBuilder.INSTANCE ); filterBuilders.push( fieldNameTerm( name, termQuery ) ); }
@Override public void visit( GreaterThan op ) throws NoIndexException { final String name = op.getProperty().getValue().toLowerCase(); final Object value = op.getLiteral().getValue(); final RangeFilterBuilder rangeQuery = FilterBuilders.rangeFilter( getFieldNameForType( value ) ).gt(sanitize(value)); filterBuilders.push( fieldNameTerm( name, rangeQuery ) ); queryBuilders.push( NoOpQueryBuilder.INSTANCE ); }
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); case GREATER_THAN: return FilterBuilders.rangeFilter(key).gt(value); case GREATER_THAN_EQUAL: return FilterBuilders.rangeFilter(key).gte(value); default: throw new IllegalArgumentException("Unexpected relation: " + numRel); 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); case GREATER_THAN: return FilterBuilders.rangeFilter(key).gt(value); case GREATER_THAN_EQUAL: return FilterBuilders.rangeFilter(key).gte(value); default: throw new IllegalArgumentException("Unexpected relation: " + numRel);
if (matcher.matches()) { String key = term.getKey().replaceAll("[<>=\\s]+$", ""); RangeFilterBuilder rfb = FilterBuilders.rangeFilter(key); if (">".equals(matcher.group(1))) { bfb = rfb.gt(term.getValue());
private FilterBuilder getBaseFilterBuilder(String facetName, String fieldValue) { if(facetName.startsWith(SearchFacetName.SEARCH_FACET_TYPE_FACET_PREFIX)) { return getTermFilter(SearchFacetName.CATEGORIES_FIELD_PREFIX + facetName + "." + SearchDocumentFieldName.FACETFILTER.getFieldName(), fieldValue.toLowerCase()); } else if(facetName.startsWith(SearchFacetName.PRODUCT_PRICE_RANGE.getCode())) { return FilterBuilders.rangeFilter(SearchDocumentFieldName.PRICE.getFieldName()).includeLower(true).includeUpper(false).from(fieldValue.split("-")[0]).to(fieldValue.split("-")[1]); } else { return FilterBuilders.termFilter(facetName, fieldValue); } // return null; }
if (value instanceof DateOnly) { DateOnly dateOnlyValue = ((DateOnly) value); filters.add(FilterBuilders.rangeFilter(propertyName).from(dateOnlyValue.toString()).to(dateOnlyValue.toString())); } else { filters.add(FilterBuilders.termFilter(propertyName, value)); filters.add(FilterBuilders.rangeFilter(propertyName).gte(value)); break; case GREATER_THAN: filters.add(FilterBuilders.rangeFilter(propertyName).gt(value)); break; case LESS_THAN_EQUAL: filters.add(FilterBuilders.rangeFilter(propertyName).lte(value)); break; case LESS_THAN: filters.add(FilterBuilders.rangeFilter(propertyName).lt(value)); break; case NOT_EQUAL:
private FilterBuilder getBaseFilterBuilder(final String facetName, final String fieldValue) { if (facetName .startsWith(SearchFacetName.SEARCH_FACET_TYPE_FACET_PREFIX)) { return getTermFilter( SearchFacetName.CATEGORIES_FIELD_PREFIX + facetName + "." + SearchDocumentFieldName.FACETFILTER .getFieldName(), fieldValue.toLowerCase()); } else if (facetName.startsWith(SearchFacetName.PRODUCT_PRICE_RANGE .getCode())) { return FilterBuilders .rangeFilter(SearchDocumentFieldName.PRICE.getFieldName()) .includeLower(true).includeUpper(false) .from(fieldValue.split("-")[0]) .to(fieldValue.split("-")[1]); } else { return FilterBuilders.termFilter(facetName, fieldValue); } // return null; }
@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()])); }
if (value instanceof DateOnly) { DateOnly dateOnlyValue = ((DateOnly) value); filters.add(FilterBuilders.rangeFilter(key).from(dateOnlyValue.toString()).to(dateOnlyValue.toString())); } else { filters.add(FilterBuilders.termFilter(key, value)); filters.add(FilterBuilders.rangeFilter(key).gte(value)); break; case GREATER_THAN: filters.add(FilterBuilders.rangeFilter(key).gt(value)); break; case LESS_THAN_EQUAL: filters.add(FilterBuilders.rangeFilter(key).lte(value)); break; case LESS_THAN: filters.add(FilterBuilders.rangeFilter(key).lt(value)); break; case NOT_EQUAL:
break; case ("gt"): boolFilterBuilder.must(FilterBuilders.rangeFilter(key).gt(value)); break; case ("gte"): boolFilterBuilder.must(FilterBuilders.rangeFilter(key).gte(value)); break; case ("lt"): boolFilterBuilder.must(FilterBuilders.rangeFilter(key).lt(value)); break; case ("lte"): boolFilterBuilder.must(FilterBuilders.rangeFilter(key).lte(value)); break; case("inside"): Object firstItem = items.get(0); Object secondItem = items.get(1); boolFilterBuilder.must(FilterBuilders.rangeFilter(key).from(firstItem).to(secondItem)); break; default:
FilterBuilders.rangeFilter(this.xField) FilterBuilders.rangeFilter(this.yField) RangeFilterBuilder rangeFilterBuilder = FilterBuilders.rangeFilter(filterPath);
/** * 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); }
/** * Set SearchRequestBuilder parameters specific to current window. * * @see org.apache.apex.malhar.contrib.elasticsearch.ElasticSearchMapInputOperator#getSearchRequestBuilder() */ @Override protected SearchRequestBuilder getSearchRequestBuilder() { long time = System.currentTimeMillis(); return searchRequestBuilder.setPostFilter(FilterBuilders.rangeFilter(POST_DATE).from(testStartTime).to(time)) // Filter .setSize(15).setExplain(false); } };
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); case GREATER_THAN: return FilterBuilders.rangeFilter(key).gt(value); case GREATER_THAN_EQUAL: return FilterBuilders.rangeFilter(key).gte(value); default: throw new IllegalArgumentException("Unexpected relation: " + numRel);
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); case GREATER_THAN: return FilterBuilders.rangeFilter(key).gt(value); case GREATER_THAN_EQUAL: return FilterBuilders.rangeFilter(key).gte(value); default: throw new IllegalArgumentException("Unexpected relation: " + numRel);
/** * 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; }
RangeFilterBuilder filterBuilder = rangeFilter("timestamp").gte(lastSeen); SearchResponse searchResponse = client.prepareSearch() .setIndices(pubSubIndexName)
private IESSearchQueryBuilderHelper<PaaSDeploymentLog> buildQuery(SearchLogRequest searchRequest) { RangeFilterBuilder dateRangeBuilder = null; if (searchRequest.getFromDate() != null || searchRequest.getToDate() != null) { dateRangeBuilder = FilterBuilders.rangeFilter("timestamp"); if (searchRequest.getFromDate() != null) { dateRangeBuilder.from(searchRequest.getFromDate()); } if (searchRequest.getToDate() != null) { dateRangeBuilder.to(searchRequest.getToDate()); } } String sortBy = "timestamp"; boolean ascending = false; if (searchRequest.getSortConfiguration() != null) { sortBy = searchRequest.getSortConfiguration().getSortBy(); ascending = searchRequest.getSortConfiguration().isAscending(); } IESSearchQueryBuilderHelper<PaaSDeploymentLog> query; if (dateRangeBuilder == null) { query = alienMonitorDao.buildSearchQuery(PaaSDeploymentLog.class, searchRequest.getQuery()).prepareSearch().setFilters(searchRequest.getFilters()) .setFieldSort(sortBy, !ascending); } else { query = alienMonitorDao.buildSearchQuery(PaaSDeploymentLog.class, searchRequest.getQuery()).prepareSearch() .setFilters(searchRequest.getFilters(), dateRangeBuilder).setFieldSort(sortBy, !ascending); } return query; }