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 (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:
/** * 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); }
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; }
/** * 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); } };
@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( 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( 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 ); }
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:
/** * 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; }
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; }
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; }
RangeFilterBuilder filterBuilder = rangeFilter("timestamp").gte(lastSeen); SearchResponse searchResponse = client.prepareSearch() .setIndices(pubSubIndexName)
@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:
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; }
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:
RangeFilterBuilder rfb = FilterBuilders.rangeFilter(key); if (">".equals(matcher.group(1))) { 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()); } else if ("<=".equals(matcher.group(1))) { bfb = rfb.lte(term.getValue());