Example usage for org.apache.lucene.codecs.bloom BloomFilteringPostingsFormat BloomFilteringPostingsFormat

List of usage examples for org.apache.lucene.codecs.bloom BloomFilteringPostingsFormat BloomFilteringPostingsFormat

Introduction

In this page you can find the example usage for org.apache.lucene.codecs.bloom BloomFilteringPostingsFormat BloomFilteringPostingsFormat.

Prototype

public BloomFilteringPostingsFormat(PostingsFormat delegatePostingsFormat) 

Source Link

Document

Creates Bloom filters for a selection of fields created in the index.

Usage

From source file:org.meresco.lucene.numerate.UriEnumerate.java

License:Open Source License

/**
 *
 * @param path/*from  ww w .  j a v  a 2 s  .  c  o m*/
 * @param max_cache_size
 * @param withTransactionLog allows for crash recovery, but slows down UriNumerate considerably because of file system flush.
 * @throws IOException
 */
public UriEnumerate(String path, int max_cache_size, boolean withTransactionLog) throws IOException {
    IndexWriterConfig config = new IndexWriterConfig(null);
    ConcurrentMergeScheduler ms = (ConcurrentMergeScheduler) config.getMergeScheduler();
    ms.setDefaultMaxMergesAndThreads(/* spins= */false);
    LogDocMergePolicy mp = new LogDocMergePolicy();
    mp.setMergeFactor(2);
    mp.setMinMergeDocs(max_cache_size);
    config.setMergePolicy(mp);
    config.setCodec(new Lucene60Codec() {
        @Override
        public PostingsFormat getPostingsFormatForField(String field) {
            return new BloomFilteringPostingsFormat(super.getPostingsFormatForField(field));
        }
    });
    config.setUseCompoundFile(false);
    this.writer = new IndexWriter(FSDirectory.open(FileSystems.getDefault().getPath(path)), config);
    this.next_ord = writer.numDocs() + 1;
    this.searcher = new SimpleSearcher(this.writer);
    this.cache = new Cache(max_cache_size, () -> this.commit());
    this.transactionLog = new TransactionLog(withTransactionLog ? path + "/transactionLog" : null);
    this.transactionLog.maybeRecover();
}