Search in sources :

Example 6 with Bitmap

use of org.neo4j.kernel.api.impl.labelscan.bitmaps.Bitmap in project neo4j by neo4j.

the class NodeRangeDocumentLabelScanStorageStrategyTest method shouldStoreAnyNodeIdInRange.

@Test
public void shouldStoreAnyNodeIdInRange() throws Exception {
    for (int i = 0, max = 1 << format.bitmapFormat().shift; i < max; i++) {
        // given
        IndexWriter indexWriter = mock(IndexWriter.class);
        WritableIndexPartition partition = newIndexPartitionMock(indexWriter);
        WritableDatabaseLabelScanIndex index = buildLuceneIndex(partition);
        LabelScanWriter writer = new PartitionedLuceneLabelScanWriter(index, format);
        // when
        writer.write(labelChanges(i, labels(), labels(7)));
        writer.close();
        // then
        Document document = new Document();
        format.addRangeValuesField(document, 0);
        format.addLabelAndSearchFields(document, 7, new Bitmap(1L << i));
        verify(indexWriter).updateDocument(eq(format.rangeTerm(0)), match(document));
    }
}
Also used : Bitmap(org.neo4j.kernel.api.impl.labelscan.bitmaps.Bitmap) WritableDatabaseLabelScanIndex(org.neo4j.kernel.api.impl.labelscan.WritableDatabaseLabelScanIndex) IndexWriter(org.apache.lucene.index.IndexWriter) PartitionedLuceneLabelScanWriter(org.neo4j.kernel.api.impl.labelscan.writer.PartitionedLuceneLabelScanWriter) WritableIndexPartition(org.neo4j.kernel.api.impl.index.partition.WritableIndexPartition) Document(org.apache.lucene.document.Document) PartitionedLuceneLabelScanWriter(org.neo4j.kernel.api.impl.labelscan.writer.PartitionedLuceneLabelScanWriter) LabelScanWriter(org.neo4j.kernel.api.labelscan.LabelScanWriter) Test(org.junit.Test)

Aggregations

Bitmap (org.neo4j.kernel.api.impl.labelscan.bitmaps.Bitmap)6 Document (org.apache.lucene.document.Document)4 HashMap (java.util.HashMap)2 IndexWriter (org.apache.lucene.index.IndexWriter)2 IndexableField (org.apache.lucene.index.IndexableField)2 Test (org.junit.Test)2 WritableIndexPartition (org.neo4j.kernel.api.impl.index.partition.WritableIndexPartition)2 WritableDatabaseLabelScanIndex (org.neo4j.kernel.api.impl.labelscan.WritableDatabaseLabelScanIndex)2 PartitionedLuceneLabelScanWriter (org.neo4j.kernel.api.impl.labelscan.writer.PartitionedLuceneLabelScanWriter)2 LabelScanWriter (org.neo4j.kernel.api.labelscan.LabelScanWriter)2 Map (java.util.Map)1 Term (org.apache.lucene.index.Term)1 IndexSearcher (org.apache.lucene.search.IndexSearcher)1 TermQuery (org.apache.lucene.search.TermQuery)1 FirstHitCollector (org.neo4j.kernel.api.impl.index.collector.FirstHitCollector)1 AbstractIndexPartition (org.neo4j.kernel.api.impl.index.partition.AbstractIndexPartition)1 PartitionSearcher (org.neo4j.kernel.api.impl.index.partition.PartitionSearcher)1