Example usage for org.apache.lucene.util InPlaceMergeSorter InPlaceMergeSorter

List of usage examples for org.apache.lucene.util InPlaceMergeSorter InPlaceMergeSorter

Introduction

In this page you can find the example usage for org.apache.lucene.util InPlaceMergeSorter InPlaceMergeSorter.

Prototype

public InPlaceMergeSorter() 

Source Link

Document

Create a new InPlaceMergeSorter

Usage

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);
}