private QueryContext sort( QueryContext query, boolean reversed ) { return query.sort( new Sort( new SortedNumericSortField( FIELD, SortField.Type.LONG, reversed ) ) ); }
sort( new Sort( new SortedNumericSortField( key, fieldType, reversed ) ) ); return this;
public Sort toSort(List<? extends OrderSpecifier<?>> orderBys) { List<SortField> sorts = new ArrayList<SortField>(orderBys.size()); for (OrderSpecifier<?> order : orderBys) { if (!(order.getTarget() instanceof Path<?>)) { throw new IllegalArgumentException( "argument was not of type Path."); } Class<?> type = order.getTarget().getType(); boolean reverse = !order.isAscending(); Path<?> path = getPath(order.getTarget()); if (Number.class.isAssignableFrom(type)) { sorts.add(new SortedNumericSortField(toField(path), sortFields.get(type), reverse)); } else { sorts.add(new SortField(toField(path), SortField.Type.STRING, reverse)); } } Sort sort = new Sort(); sort.setSort(sorts.toArray(new SortField[sorts.size()])); return sort; } }
private void queryAndSortNodesByNumericProperty( Index<Node> index, String numericProperty, IntFunction<? extends Number> expectedValueProvider ) { try ( Transaction transaction = graphDb.beginTx() ) { QueryContext queryContext = new QueryContext( numericProperty + ":**" ); queryContext.sort( new Sort( new SortedNumericSortField( numericProperty, SortField.Type.INT, false ) ) ); IndexHits<Node> nodes = index.query( queryContext ); int nodeIndex = 0; for ( Node node : nodes ) { assertEquals("Nodes should be sorted by numeric property", expectedValueProvider.apply( nodeIndex++), node.getProperty( numericProperty )); } transaction.success(); } }
sortFields[i] = new SortedSetSortField(fieldName, reverse, sortedSetSelector); } else if (sortedNumericSelector != null) { sortFields[i] = new SortedNumericSortField(fieldName, sortType, reverse, sortedNumericSelector); } else { sortFields[i] = new SortField(fieldName, sortType, reverse);
sortFields[i] = new SortedSetSortField(fieldName, reverse, sortedSetSelector); } else if (sortedNumericSelector != null) { sortFields[i] = new SortedNumericSortField(fieldName, sortType, reverse, sortedNumericSelector); } else { sortFields[i] = new SortField(fieldName, sortType, reverse);
switch (numericType) { case FLOAT: sortField = new SortedNumericSortField(fieldName, SortField.Type.FLOAT, reverse, selectorType); break; sortField = new SortedNumericSortField(fieldName, SortField.Type.DOUBLE, reverse, selectorType); break; sortField = new SortedNumericSortField(fieldName, SortField.Type.LONG, reverse, selectorType); break;
/** {@inheritDoc} */ @Override public SortField sortField(String name, boolean reverse) { return new SortedNumericSortField(name, Type.INT, reverse); }
/** {@inheritDoc} */ @Override public SortField sortField(String name, boolean reverse) { return new SortedNumericSortField(name, Type.LONG, reverse); }
/** {@inheritDoc} */ @Override public SortField sortField(String name, boolean reverse) { return new SortedNumericSortField(name, Type.DOUBLE, reverse); }
@Override public SortField getSortField(boolean reverse) { return new SortedNumericSortField(field, SortField.Type.DOUBLE, reverse, selector); }
/** {@inheritDoc} */ @Override public SortField sortField(String name, boolean reverse) { return new SortedNumericSortField(name, Type.FLOAT, reverse); }
/** {@inheritDoc} */ @Override public SortField sortField(String name, boolean reverse) { return new SortedNumericSortField(name, Type.LONG, reverse); }
@Override public SortField getSortField(boolean reverse) { return new SortedNumericSortField(field, SortField.Type.INT, reverse, selector); }
@Override public SortField getSortField(boolean reverse) { return new SortedNumericSortField(field, SortField.Type.FLOAT, reverse, selector); }
"] for numeric field:[" + field + "]"); fields[i] = new SortedNumericSortField(field, numericType, reverse, max ? SortedNumericSelector.Type.MAX : SortedNumericSelector.Type.MIN); if (missing != null) {
static SortField integerSortField(final String fieldName, final QueryDefinition.SortEnum sortEnum) { final SortField sortField = new SortedNumericSortField(fieldName, SortField.Type.INT, SortUtils.sortReverse(sortEnum)); SortUtils.sortIntMissingValue(sortEnum, sortField); return sortField; }
static SortField longSortField(final String fieldName, final QueryDefinition.SortEnum sortEnum) { final SortField sortField = new SortedNumericSortField(fieldName, SortField.Type.LONG, SortUtils.sortReverse(sortEnum)); SortUtils.sortLongMissingValue(sortEnum, sortField); return sortField; }
static SortField doubleSortField(final String fieldName, final QueryDefinition.SortEnum sortEnum) { final SortField sortField = new SortedNumericSortField(fieldName, SortField.Type.DOUBLE, SortUtils.sortReverse(sortEnum)); SortUtils.sortDoubleMissingValue(sortEnum, sortField); return sortField; }
static SortField floatSortField(final String fieldName, final QueryDefinition.SortEnum sortEnum) { final SortField sortField = new SortedNumericSortField(fieldName, SortField.Type.FLOAT, SortUtils.sortReverse(sortEnum)); SortUtils.sortFloatMissingValue(sortEnum, sortField); return sortField; }