List of usage examples for org.apache.lucene.util InPlaceMergeSorter InPlaceMergeSorter
public InPlaceMergeSorter()
From source file:org.codelibs.elasticsearch.common.util.CollectionUtils.java
License:Apache License
private static void sort(final BytesRefBuilder scratch, final BytesRefBuilder scratch1, final BytesRefArray bytes, final int[] indices) { final int numValues = bytes.size(); assert indices.length >= numValues; if (numValues > 1) { new InPlaceMergeSorter() { final Comparator<BytesRef> comparator = Comparator.naturalOrder(); @Override//from www . ja v a 2 s. c o m protected int compare(int i, int j) { return comparator.compare(bytes.get(scratch, indices[i]), bytes.get(scratch1, indices[j])); } @Override protected void swap(int i, int j) { int value_i = indices[i]; indices[i] = indices[j]; indices[j] = value_i; } }.sort(0, numValues); } }
From source file:org.codelibs.elasticsearch.index.fielddata.SortingBinaryDocValues.java
License:Apache License
protected SortingBinaryDocValues() { values = new BytesRefBuilder[] { new BytesRefBuilder() }; sorter = new InPlaceMergeSorter() { @Override//from w w w.jav a 2s. c om protected void swap(int i, int j) { ArrayUtil.swap(values, i, j); } @Override protected int compare(int i, int j) { return values[i].get().compareTo(values[j].get()); } }; }
From source file:org.codelibs.elasticsearch.index.fielddata.SortingNumericDocValues.java
License:Apache License
protected SortingNumericDocValues() { values = new long[1]; sorter = new InPlaceMergeSorter() { @Override// ww w .j av a 2 s .co m protected void swap(int i, int j) { final long tmp = values[i]; values[i] = values[j]; values[j] = tmp; } @Override protected int compare(int i, int j) { return Long.compare(values[i], values[j]); } }; }
From source file:org.codelibs.elasticsearch.index.fielddata.SortingNumericDoubleValues.java
License:Apache License
protected SortingNumericDoubleValues() { values = new double[1]; sorter = new InPlaceMergeSorter() { @Override//from w w w.j a va2 s . c om protected void swap(int i, int j) { final double tmp = values[i]; values[i] = values[j]; values[j] = tmp; } @Override protected int compare(int i, int j) { return Double.compare(values[i], values[j]); } }; }
From source file:org.codelibs.elasticsearch.search.aggregations.bucket.range.AbstractRangeBuilder.java
License:Apache License
private static void sortRanges(final Range[] ranges) { new InPlaceMergeSorter() { @Override//from www. j av a2 s . c o m protected void swap(int i, int j) { final Range tmp = ranges[i]; ranges[i] = ranges[j]; ranges[j] = tmp; } @Override protected int compare(int i, int j) { int cmp = Double.compare(ranges[i].from, ranges[j].from); if (cmp == 0) { cmp = Double.compare(ranges[i].to, ranges[j].to); } return cmp; } }.sort(0, ranges.length); }
From source file:org.elassandra.shard.aggregations.bucket.token.RangeAggregator.java
License:Apache License
private static final void sortRanges(final Range[] ranges) { new InPlaceMergeSorter() { @Override/*from w ww. ja va 2 s . c o m*/ protected void swap(int i, int j) { final Range tmp = ranges[i]; ranges[i] = ranges[j]; ranges[j] = tmp; } @Override protected int compare(int i, int j) { int cmp = Long.compare(ranges[i].from, ranges[j].from); if (cmp == 0) { cmp = Long.compare(ranges[i].to, ranges[j].to); } return cmp; } }.sort(0, ranges.length); }
From source file:org.elasticsearch.search.aggregations.bucket.range.RangeAggregator.java
License:Apache License
private static final void sortRanges(final Range[] ranges) { new InPlaceMergeSorter() { @Override//from w ww. j a va 2 s . c om protected void swap(int i, int j) { final Range tmp = ranges[i]; ranges[i] = ranges[j]; ranges[j] = tmp; } @Override protected int compare(int i, int j) { int cmp = Double.compare(ranges[i].from, ranges[j].from); if (cmp == 0) { cmp = Double.compare(ranges[i].to, ranges[j].to); } return cmp; } }.sort(0, ranges.length); }