Package org.apache.lucene.index

Examples of org.apache.lucene.index.SortedNumericDocValues


        assertEquals(value, asDoubles.get(0), 0);

        NumericDocValues backToLongs = DocValues.unwrapSingleton(FieldData.toSortableLongBits(asMultiDoubles));
        assertSame(values, backToLongs);

        SortedNumericDocValues multiValues = new SortedNumericDocValues() {

            @Override
            public long valueAt(int index) {
                return valueBits;
            }
View Full Code Here


            public double get(int docID) {
                return value;
            }
        };

        SortedNumericDocValues asMultiLongs = FieldData.toSortableLongBits(FieldData.singleton(values, null));
        NumericDocValues asLongs = DocValues.unwrapSingleton(asMultiLongs);
        assertNotNull(asLongs);
        assertEquals(valueBits, asLongs.get(0));

        SortedNumericDoubleValues multiValues = new SortedNumericDoubleValues() {
            @Override
            public double valueAt(int index) {
                return value;
            }

            @Override
            public void setDocument(int doc) {
            }

            @Override
            public int count() {
                return 1;
            }
        };

        asMultiLongs = FieldData.toSortableLongBits(multiValues);
        assertEquals(valueBits, asMultiLongs.valueAt(0));
        assertSame(multiValues, FieldData.sortableLongBitsToDoubles(asMultiLongs));
    }
View Full Code Here

    public void testSingleValueAllSetNumber() throws Exception {
        fillSingleValueAllSet();
        IndexNumericFieldData indexFieldData = getForField("value");
        AtomicNumericFieldData fieldData = indexFieldData.load(refreshReader());

        SortedNumericDocValues longValues = fieldData.getLongValues();

        assertThat(FieldData.isMultiValued(longValues), equalTo(false));

        longValues.setDocument(0);
        assertThat(longValues.count(), equalTo(1));
        assertThat(longValues.valueAt(0), equalTo(2l));

        longValues.setDocument(1);
        assertThat(longValues.count(), equalTo(1));
        assertThat(longValues.valueAt(0), equalTo(1l));

        longValues.setDocument(2);
        assertThat(longValues.count(), equalTo(1));
        assertThat(longValues.valueAt(0), equalTo(3l));

        SortedNumericDoubleValues doubleValues = fieldData.getDoubleValues();

        assertThat(FieldData.isMultiValued(doubleValues), equalTo(false));
View Full Code Here

    public void testSingleValueWithMissingNumber() throws Exception {
        fillSingleValueWithMissing();
        IndexNumericFieldData indexFieldData = getForField("value");
        AtomicNumericFieldData fieldData = indexFieldData.load(refreshReader());

        SortedNumericDocValues longValues = fieldData.getLongValues();

        assertThat(FieldData.isMultiValued(longValues), equalTo(false));

        longValues.setDocument(0);
        assertThat(longValues.count(), equalTo(1));
        assertThat(longValues.valueAt(0), equalTo(2l));

        longValues.setDocument(1);
        assertThat(longValues.count(), equalTo(0));

        longValues.setDocument(2);
        assertThat(longValues.count(), equalTo(1));
        assertThat(longValues.valueAt(0), equalTo(3l));

        SortedNumericDoubleValues doubleValues = fieldData.getDoubleValues();

        assertThat(FieldData.isMultiValued(doubleValues), equalTo(false));
View Full Code Here

    public void testMultiValueAllSetNumber() throws Exception {
        fillMultiValueAllSet();
        IndexNumericFieldData indexFieldData = getForField("value");
        AtomicNumericFieldData fieldData = indexFieldData.load(refreshReader());

        SortedNumericDocValues longValues = fieldData.getLongValues();

        assertThat(FieldData.isMultiValued(longValues), equalTo(true));

        longValues.setDocument(0);
        assertThat(longValues.count(), equalTo(2));
        assertThat(longValues.valueAt(0), equalTo(2l));
        assertThat(longValues.valueAt(1), equalTo(4l));

        longValues.setDocument(1);
        assertThat(longValues.count(), equalTo(1));
        assertThat(longValues.valueAt(0), equalTo(1l));

        longValues.setDocument(2);
        assertThat(longValues.count(), equalTo(1));
        assertThat(longValues.valueAt(0), equalTo(3l));

        SortedNumericDoubleValues doubleValues = fieldData.getDoubleValues();

        assertThat(FieldData.isMultiValued(doubleValues), equalTo(true));
View Full Code Here

    public void testMultiValueWithMissingNumber() throws Exception {
        fillMultiValueWithMissing();
        IndexNumericFieldData indexFieldData = getForField("value");
        AtomicNumericFieldData fieldData = indexFieldData.load(refreshReader());

        SortedNumericDocValues longValues = fieldData.getLongValues();

        assertThat(FieldData.isMultiValued(longValues), equalTo(true));

        longValues.setDocument(0);
        assertThat(longValues.count(), equalTo(2));
        assertThat(longValues.valueAt(0), equalTo(2l));
        assertThat(longValues.valueAt(1), equalTo(4l));

        longValues.setDocument(1);
        assertThat(longValues.count(), equalTo(0));

        longValues.setDocument(2);
        assertThat(longValues.count(), equalTo(1));
        assertThat(longValues.valueAt(0), equalTo(3l));

        SortedNumericDoubleValues doubleValues = fieldData.getDoubleValues();

        assertThat(FieldData.isMultiValued(doubleValues), equalTo(true));
View Full Code Here

        IndexNumericFieldData indexFieldData = getForField("value");
        AtomicNumericFieldData fieldData = indexFieldData.load(refreshReader());

        // long values

        SortedNumericDocValues longValues = fieldData.getLongValues();

        assertThat(FieldData.isMultiValued(longValues), equalTo(false));

        for (int i = 0; i < 3; ++i) {
            longValues.setDocument(0);
            assertThat(longValues.count(), equalTo(0));
        }

        // double values

        SortedNumericDoubleValues doubleValues = fieldData.getDoubleValues();
View Full Code Here

        }
        writer.forceMerge(1, true);

        final IndexNumericFieldData indexFieldData = getForField("value");
        final AtomicNumericFieldData atomicFieldData = indexFieldData.load(refreshReader());
        final SortedNumericDocValues data = atomicFieldData.getLongValues();
        final SortedNumericDoubleValues doubleData = atomicFieldData.getDoubleValues();
        final LongOpenHashSet set = new LongOpenHashSet();
        final DoubleOpenHashSet doubleSet = new DoubleOpenHashSet();
        for (int i = 0; i < values.size(); ++i) {
            final LongOpenHashSet v = values.get(i);

            data.setDocument(i);
            assertThat(data.count() > 0, equalTo(!v.isEmpty()));
            doubleData.setDocument(i);
            assertThat(doubleData.count() > 0, equalTo(!v.isEmpty()));

            set.clear();
            data.setDocument(i);
            int numValues = data.count();
            for (int j = 0; j < numValues; j++) {
                set.add(data.valueAt(j));
            }
            assertThat(set, equalTo(v));

            final DoubleOpenHashSet doubleV = new DoubleOpenHashSet();
            final boolean[] states = v.allocated;
View Full Code Here

        // NOTE: it's important to pass null as a missing value in the constructor so that
        // the comparator doesn't check docsWithField since we replace missing values in select()
        return new FieldComparator.LongComparator(numHits, null, null) {
            @Override
            protected NumericDocValues getNumericDocValues(LeafReaderContext context, String field) throws IOException {
                final SortedNumericDocValues values = indexFieldData.load(context).getLongValues();
                final NumericDocValues selectedValues;
                if (nested == null) {
                    selectedValues = sortMode.select(values, dMissingValue);
                } else {
                    final BitSet rootDocs = nested.rootDocs(context).bits();
View Full Code Here

            // make sure there are terms to filter on
            if (terms == null || terms.isEmpty()) return null;

            IndexNumericFieldData numericFieldData = (IndexNumericFieldData) fieldData;
            if (!numericFieldData.getNumericType().isFloatingPoint()) {
                final SortedNumericDocValues values = numericFieldData.load(context).getLongValues(); // load fielddata
                return new DocValuesDocIdSet(context.reader().maxDoc(), acceptDocs) {
                    @Override
                    protected boolean matchDoc(int doc) {
                        values.setDocument(doc);
                        final int numVals = values.count();
                        for (int i = 0; i < numVals; i++) {
                            if (terms.contains(values.valueAt(i))) {
                                return true;
                            }
                        }

                        return false;
View Full Code Here

TOP

Related Classes of org.apache.lucene.index.SortedNumericDocValues

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.