public DefaultGraphQueryIterable( QueryParameters parameters, Iterable<T> iterable, boolean evaluateQueryString, boolean evaluateHasContainers, boolean evaluateSortContainers ) { checkNotNull(iterable, "iterable cannot be null"); this.parameters = parameters; this.evaluateQueryString = evaluateQueryString; this.evaluateHasContainers = evaluateHasContainers; if (evaluateSortContainers && this.parameters.getSortContainers().size() > 0) { this.iterable = sortUsingSortContainers(iterable, parameters.getSortContainers()); } else if (evaluateHasContainers && this.parameters.getScoringStrategy() != null) { this.iterable = sortUsingScoringStrategy(iterable, parameters.getScoringStrategy()); } else { this.iterable = iterable; } }
public DefaultGraphQueryIterable( QueryParameters parameters, Iterable<T> iterable, boolean evaluateQueryString, boolean evaluateHasContainers, boolean evaluateSortContainers ) { checkNotNull(iterable, "iterable cannot be null"); this.parameters = parameters; this.evaluateQueryString = evaluateQueryString; this.evaluateHasContainers = evaluateHasContainers; if (evaluateSortContainers && this.parameters.getSortContainers().size() > 0) { this.iterable = sortUsingSortContainers(iterable, parameters.getSortContainers()); } else if (evaluateHasContainers && this.parameters.getScoringStrategy() != null) { this.iterable = sortUsingScoringStrategy(iterable, parameters.getScoringStrategy()); } else { this.iterable = iterable; } }
protected QueryParameters cloneTo(QueryParameters result) { result.setSkip(this.getSkip()); result.setLimit(this.getLimit()); result.setMinScore(this.getMinScore()); result.setScoringStrategy(this.getScoringStrategy()); result.hasContainers.addAll(this.getHasContainers()); result.sortContainers.addAll(this.getSortContainers()); result.edgeLabels.addAll(this.getEdgeLabels()); result.ids = this.ids == null ? null : new ArrayList<>(this.ids); return result; }
protected QueryParameters cloneTo(QueryParameters result) { result.setSkip(this.getSkip()); result.setLimit(this.getLimit()); result.setMinScore(this.getMinScore()); result.setScoringStrategy(this.getScoringStrategy()); result.hasContainers.addAll(this.getHasContainers()); result.sortContainers.addAll(this.getSortContainers()); result.edgeLabels.addAll(this.getEdgeLabels()); result.ids = this.ids == null ? null : new ArrayList<>(this.ids); return result; }
protected void applySort(SearchRequestBuilder q) { for (SortContainer sortContainer : getParameters().getSortContainers()) { SortOrder esOrder = sortContainer.direction == SortDirection.ASCENDING ? SortOrder.ASC : SortOrder.DESC; if (Element.ID_PROPERTY_NAME.equals(sortContainer.propertyName)) { q.addSort("_uid", esOrder); } else if (Edge.LABEL_PROPERTY_NAME.equals(sortContainer.propertyName)) { q.addSort(ElasticsearchSingleDocumentSearchIndex.EDGE_LABEL_FIELD_NAME, esOrder); } else { PropertyDefinition propertyDefinition = getGraph().getPropertyDefinition(sortContainer.propertyName); if (propertyDefinition == null) { continue; } if (!getSearchIndex().isPropertyInIndex(getGraph(), sortContainer.propertyName)) { continue; } if (!propertyDefinition.isSortable()) { throw new VertexiumException("Cannot sort on non-sortable fields"); } q.addSort(propertyDefinition.getPropertyName() + ElasticsearchSingleDocumentSearchIndex.SORT_PROPERTY_NAME_SUFFIX, esOrder); } } }
protected void applySort(SearchRequestBuilder q) { for (SortContainer sortContainer : getParameters().getSortContainers()) { SortOrder esOrder = sortContainer.direction == SortDirection.ASCENDING ? SortOrder.ASC : SortOrder.DESC; if (Element.ID_PROPERTY_NAME.equals(sortContainer.propertyName)) { q.addSort("_uid", esOrder); } else if (Edge.LABEL_PROPERTY_NAME.equals(sortContainer.propertyName)) { q.addSort(Elasticsearch2SearchIndex.EDGE_LABEL_FIELD_NAME, esOrder); } else { PropertyDefinition propertyDefinition = getGraph().getPropertyDefinition(sortContainer.propertyName); if (propertyDefinition == null) { continue; } if (!getSearchIndex().isPropertyInIndex(getGraph(), sortContainer.propertyName)) { continue; } if (!propertyDefinition.isSortable()) { throw new VertexiumException("Cannot sort on non-sortable fields"); } q.addSort(propertyDefinition.getPropertyName() + Elasticsearch2SearchIndex.SORT_PROPERTY_NAME_SUFFIX, esOrder); } } }
protected void applySort(SearchRequestBuilder q) { boolean sortedById = false; for (SortContainer sortContainer : getParameters().getSortContainers()) { SortOrder esOrder = sortContainer.direction == SortDirection.ASCENDING ? SortOrder.ASC : SortOrder.DESC; if (Element.ID_PROPERTY_NAME.equals(sortContainer.propertyName)) {
protected void applySort(SearchRequestBuilder q) { boolean sortedById = false; for (SortContainer sortContainer : getParameters().getSortContainers()) { SortOrder esOrder = sortContainer.direction == SortDirection.ASCENDING ? SortOrder.ASC : SortOrder.DESC; if (Element.ID_PROPERTY_NAME.equals(sortContainer.propertyName)) {