Example usage for org.apache.lucene.search.join BitSetProducer getBitSet

List of usage examples for org.apache.lucene.search.join BitSetProducer getBitSet

Introduction

In this page you can find the example usage for org.apache.lucene.search.join BitSetProducer getBitSet.

Prototype

BitSet getBitSet(LeafReaderContext context) throws IOException;

Source Link

Document

Produce a BitSet matching the expected documents on the given segment.

Usage

From source file:org.elasticsearch.index.cache.bitset.BitSetFilterCacheTests.java

License:Apache License

private static int matchCount(BitSetProducer producer, IndexReader reader) throws IOException {
    int count = 0;
    for (LeafReaderContext ctx : reader.leaves()) {
        final BitSet bitSet = producer.getBitSet(ctx);
        if (bitSet != null) {
            count += bitSet.cardinality();
        }//from   w w w  .j  ava2  s  .  c om
    }
    return count;
}

From source file:org.elasticsearch.index.cache.bitset.BitSetFilterCacheTests.java

License:Apache License

public void testRejectOtherIndex() throws IOException {
    BitsetFilterCache cache = new BitsetFilterCache(new Index("test"), Settings.EMPTY);

    Directory dir = newDirectory();/* www . j av a 2  s  . c o  m*/
    IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig());
    writer.addDocument(new Document());
    DirectoryReader reader = DirectoryReader.open(writer, true);
    writer.close();
    reader = ElasticsearchDirectoryReader.wrap(reader, new ShardId(new Index("test2"), 0));

    BitSetProducer producer = cache.getBitSetProducer(new MatchAllDocsQuery());

    try {
        producer.getBitSet(reader.leaves().get(0));
        fail();
    } catch (IllegalStateException expected) {
        assertEquals("Trying to load bit set for index [test2] with cache of index [test]",
                expected.getMessage());
    } finally {
        IOUtils.close(reader, dir);
    }
}