Package org.apache.lucene.index

Examples of org.apache.lucene.index.RandomAccessOrds


                ifdService.clear();
                FieldDataType fieldDataType = new FieldDataType("string", ImmutableSettings.builder().put("format", format)
                        .put("filter.frequency.min_segment_size", 100).put("filter.frequency.min", 0.0d).put("filter.frequency.max", random.nextBoolean() ? 100 : 0.5d));
                IndexOrdinalsFieldData fieldData = getForField(fieldDataType, "high_freq");
                AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
                RandomAccessOrds bytesValues = loadDirect.getOrdinalsValues();
                assertThat(2L, equalTo(bytesValues.getValueCount()));
                assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("10"));
                assertThat(bytesValues.lookupOrd(1).utf8ToString(), equalTo("100"));
            }
            {
                ifdService.clear();
                FieldDataType fieldDataType = new FieldDataType("string", ImmutableSettings.builder().put("format", format)
                        .put("filter.frequency.min_segment_size", 100).put("filter.frequency.min",  random.nextBoolean() ? 101 : 101d/200.0d).put("filter.frequency.max", 201));
                IndexOrdinalsFieldData fieldData = getForField(fieldDataType, "high_freq");
                AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
                RandomAccessOrds bytesValues = loadDirect.getOrdinalsValues();
                assertThat(1L, equalTo(bytesValues.getValueCount()));
                assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("5"));
            }
           
            {
                ifdService.clear(); // test # docs with value
                FieldDataType fieldDataType = new FieldDataType("string", ImmutableSettings.builder().put("format", format)
                        .put("filter.frequency.min_segment_size", 101).put("filter.frequency.min", random.nextBoolean() ? 101 : 101d/200.0d));
                IndexOrdinalsFieldData fieldData = getForField(fieldDataType, "med_freq");
                AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
                RandomAccessOrds bytesValues = loadDirect.getOrdinalsValues();
                assertThat(2L, equalTo(bytesValues.getValueCount()));
                assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("10"));
                assertThat(bytesValues.lookupOrd(1).utf8ToString(), equalTo("100"));
            }
           
            {
                ifdService.clear();
                FieldDataType fieldDataType = new FieldDataType("string", ImmutableSettings.builder().put("format", format)
                        .put("filter.frequency.min_segment_size", 101).put("filter.frequency.min", random.nextBoolean() ? 101 : 101d/200.0d));
                IndexOrdinalsFieldData fieldData = getForField(fieldDataType, "med_freq");
                AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
                RandomAccessOrds bytesValues = loadDirect.getOrdinalsValues();
                assertThat(2L, equalTo(bytesValues.getValueCount()));
                assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("10"));
                assertThat(bytesValues.lookupOrd(1).utf8ToString(), equalTo("100"));
            }
           
            {
                ifdService.clear();
                FieldDataType fieldDataType = new FieldDataType("string", ImmutableSettings.builder().put("format", format)
                        .put("filter.regex.pattern", "\\d{2,3}") // allows 10 & 100
                        .put("filter.frequency.min_segment_size", 0)
                        .put("filter.frequency.min", random.nextBoolean() ? 1 : 1d/200.0d) // 100, 10, 5
                        .put("filter.frequency.max", random.nextBoolean() ? 99 : 99d/200.0d)); // 100
                IndexOrdinalsFieldData fieldData = getForField(fieldDataType, "high_freq");
                AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
                RandomAccessOrds bytesValues = loadDirect.getOrdinalsValues();
                assertThat(1L, equalTo(bytesValues.getValueCount()));
                assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("100"));
            }
        }

    }
View Full Code Here


                ifdService.clear();
                FieldDataType fieldDataType = new FieldDataType("string", ImmutableSettings.builder().put("format", format)
                        .put("filter.regex.pattern", "\\d"));
                IndexOrdinalsFieldData fieldData = getForField(fieldDataType, "high_freq");
                AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
                RandomAccessOrds bytesValues = loadDirect.getOrdinalsValues();
                assertThat(1L, equalTo(bytesValues.getValueCount()));
                assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("5"));
            }
            {
                ifdService.clear();
                FieldDataType fieldDataType = new FieldDataType("string", ImmutableSettings.builder().put("format", format)
                        .put("filter.regex.pattern", "\\d{1,2}"));
                IndexOrdinalsFieldData fieldData = getForField(fieldDataType, "high_freq");
                AtomicOrdinalsFieldData loadDirect = fieldData.loadDirect(context);
                RandomAccessOrds bytesValues = loadDirect.getOrdinalsValues();
                assertThat(2L, equalTo(bytesValues.getValueCount()));
                assertThat(bytesValues.lookupOrd(0).utf8ToString(), equalTo("10"));
                assertThat(bytesValues.lookupOrd(1).utf8ToString(), equalTo("5"));
            }
        }

    }
View Full Code Here

                }
                return 1;
            }
        });
        Ordinals ords = creationMultiOrdinals(builder);
        RandomAccessOrds docs = ords.ordinals();
        final SortedDocValues singleOrds = MultiValueMode.MIN.select(docs);
        int docId = ordsAndIds.get(0).id;
        List<Long> docOrds = new ArrayList<>();
        for (OrdAndId ordAndId : ordsAndIds) {
            if (docId == ordAndId.id) {
                docOrds.add(ordAndId.ord);
            } else {
                if (!docOrds.isEmpty()) {
                    assertThat((long) singleOrds.getOrd(docId), equalTo(docOrds.get(0)));

                    docs.setDocument(docId);
                    final int numOrds = docs.cardinality();
                    assertThat(numOrds, equalTo(docOrds.size()));
                    for (int i = 0; i < numOrds; i++) {
                        assertThat(docs.nextOrd(), equalTo(docOrds.get(i)));
                    }
                    final long[] array = new long[docOrds.size()];
                    for (int i = 0; i < array.length; i++) {
                        array[i] = docOrds.get(i);
                    }
View Full Code Here

                {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31},
                {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}
        };

        Ordinals ordinals = creationMultiOrdinals(builder);
        RandomAccessOrds docs = ordinals.ordinals();
        assertEquals(docs, ordinalPlan);
    }
View Full Code Here

                {1},
                {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
        };

        Ordinals ordinals = new MultiOrdinals(builder, PackedInts.FASTEST);
        RandomAccessOrds docs = ordinals.ordinals();
        assertEquals(docs, ordinalPlan);
    }
View Full Code Here

            builder.addDoc(doc);
        }

        Ordinals ords = builder.build(ImmutableSettings.EMPTY);
        assertThat(ords, instanceOf(SinglePackedOrdinals.class));
        RandomAccessOrds docs = ords.ordinals();
        final SortedDocValues singleOrds = DocValues.unwrapSingleton(docs);
        assertNotNull(singleOrds);

        for (Map.Entry<Integer, Long> entry : controlDocToOrdinal.entrySet()) {
            assertThat(entry.getValue(), equalTo((long) singleOrds.getOrd(entry.getKey())));
View Full Code Here

            this.segmentIndex = segmentIndex;
        }

        @Override
        public RandomAccessOrds getOrdinalsValues() {
            final RandomAccessOrds values = afd.getOrdinalsValues();
            if (values.getValueCount() == ordinalMap.getValueCount()) {
                // segment ordinals match global ordinals
                return values;
            }
            final RandomAccessOrds[] bytesValues = new RandomAccessOrds[atomicReaders.length];
            for (int i = 0; i < bytesValues.length; i++) {
View Full Code Here

                lat.set(ord, encoding.encodeCoordinate(point.getLat()));
                lon.set(ord, encoding.encodeCoordinate(point.getLon()));
            }

            Ordinals build = builder.build(fieldDataType.getSettings());
            RandomAccessOrds ordinals = build.ordinals();
            if (FieldData.isMultiValued(ordinals) || CommonSettings.getMemoryStorageHint(fieldDataType) == CommonSettings.MemoryStorageFormat.ORDINALS) {
                if (lat.size() != ordinals.getValueCount()) {
                    lat = lat.resize(ordinals.getValueCount());
                    lon = lon.resize(ordinals.getValueCount());
                }
                data = new GeoPointCompressedAtomicFieldData.WithOrdinals(encoding, lon, lat, build, reader.maxDoc());
            } else {
                int maxDoc = reader.maxDoc();
                PagedMutable sLat = new PagedMutable(reader.maxDoc(), pageSize, encoding.numBitsPerCoordinate(), PackedInts.COMPACT);
                PagedMutable sLon = new PagedMutable(reader.maxDoc(), pageSize, encoding.numBitsPerCoordinate(), PackedInts.COMPACT);
                final long missing = encoding.encodeCoordinate(0);
                for (int i = 0; i < maxDoc; i++) {
                    ordinals.setDocument(i);
                    final long nativeOrdinal = ordinals.nextOrd();
                    if (nativeOrdinal >= 0) {
                        sLat.set(i, lat.get(nativeOrdinal));
                        sLon.set(i, lon.get(nativeOrdinal));
                    } else {
                        sLat.set(i, missing);
View Full Code Here

        if (indexFieldData instanceof IndexOrdinalsFieldData) {
            return new FieldComparator.TermOrdValComparator(numHits, null, sortMissingLast) {
               
                @Override
                protected SortedDocValues getSortedDocValues(LeafReaderContext context, String field) throws IOException {
                    final RandomAccessOrds values = ((IndexOrdinalsFieldData) indexFieldData).load(context).getOrdinalsValues();
                    final SortedDocValues selectedValues;
                    if (nested == null) {
                        selectedValues = sortMode.select(values);
                    } else {
                        final BitSet rootDocs = nested.rootDocs(context).bits();
View Full Code Here

            return new DirectCollector(counts, hashValues);
        }

        if (valuesSource instanceof ValuesSource.Bytes.WithOrdinals) {
            ValuesSource.Bytes.WithOrdinals source = (ValuesSource.Bytes.WithOrdinals) valuesSource;
            final RandomAccessOrds ordinalValues = source.ordinalsValues();
            final long maxOrd = ordinalValues.getValueCount();
            if (maxOrd == 0) {
                return new EmptyCollector();
            }

            final long ordinalsMemoryUsage = OrdinalsCollector.memoryOverhead(maxOrd);
View Full Code Here

TOP

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

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.