Example usage for org.apache.lucene.index ReaderManager ReaderManager

List of usage examples for org.apache.lucene.index ReaderManager ReaderManager

Introduction

In this page you can find the example usage for org.apache.lucene.index ReaderManager ReaderManager.

Prototype

public ReaderManager(DirectoryReader reader) throws IOException 

Source Link

Document

Creates and returns a new ReaderManager from the given already-opened DirectoryReader , stealing the incoming reference.

Usage

From source file:be.ugent.tiwi.sleroux.newsrec.newsreclib.newsFetch.storm.bolts.NewsItemToTermsBolt.java

License:Apache License

@Override
public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) {
    try {/*w w  w.ja v  a2s.c  o m*/
        this.collector = collector;
        Directory dir = FSDirectory.open(new File(luceneIndexLocation));
        searcherManager = new SearcherManager(dir, null);
        readerManager = new ReaderManager(dir);
    } catch (IOException ex) {
        logger.fatal(ex);
    }
}

From source file:de.blizzy.documentr.search.PageIndex.java

License:Open Source License

@PostConstruct
public void init() throws IOException {
    File indexDir = new File(settings.getDocumentrDataDir(), "index"); //$NON-NLS-1$
    File pageIndexDir = new File(indexDir, "page"); //$NON-NLS-1$
    FileUtils.forceMkdir(pageIndexDir);/*w w  w  .  j av a  2  s . c o  m*/

    directory = FSDirectory.open(pageIndexDir);

    Analyzer defaultAnalyzer = new EnglishAnalyzer(Version.LUCENE_40);
    Map<String, Analyzer> fieldAnalyzers = Maps.newHashMap();
    fieldAnalyzers.put(ALL_TEXT_SUGGESTIONS, new StandardAnalyzer(Version.LUCENE_40));
    analyzer = new PerFieldAnalyzerWrapper(defaultAnalyzer, fieldAnalyzers);

    IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_40, analyzer);
    config.setOpenMode(OpenMode.CREATE_OR_APPEND);
    writer = new IndexWriter(directory, config);
    writer.commit();

    readerManager = new ReaderManager(directory);
    searcherManager = new SearcherManager(directory, null);

    log.info("checking if index is empty"); //$NON-NLS-1$
    if (getNumDocuments() == 0) {
        reindexEverything();
    }
}

From source file:org.deeplearning4j.text.invertedindex.LuceneInvertedIndex.java

License:Apache License

private void initReader() {
    if (reader == null) {
        try {/*from  ww  w . j a v a  2s . co  m*/
            ensureDirExists();
            if (getWriter() == null) {
                this.indexWriter = null;
                while (getWriter() == null) {
                    log.warn("Writer was null...reinitializing");
                    Thread.sleep(1000);
                }
            }
            IndexWriter writer = getWriter().getIndexWriter();
            if (writer == null)
                throw new IllegalStateException("index writer was null");
            searcherManager = new SearcherManager(writer, true, new SearcherFactory());
            writer.commit();
            readerManager = new ReaderManager(dir);
            DirectoryReader reader = readerManager.acquire();
            numDocs = readerManager.acquire().numDocs();
            readerManager.release(reader);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }

    }
}

From source file:org.pageseeder.flint.lucene.LuceneIndexIO.java

License:Apache License

private void open() throws IOException {
    // create it?
    boolean createIt = !DirectoryReader.indexExists(this._directory);
    // read only?
    boolean readonly = isReadOnly(this._directory);
    if (readonly) {
        this._writer = null;
        this._reader = new ReaderManager(this._directory);
        this._searcher = new SearcherManager(this._directory, FACTORY);
    } else {//from  w ww . j a v  a2 s  .c  o  m
        // create writer
        IndexWriterConfig config = new IndexWriterConfig(this._analyzer);
        ConcurrentMergeScheduler merger = new ConcurrentMergeScheduler();
        //      merger.setMaxMergesAndThreads(maxMergeCount, maxThreadCount);
        config.setMergeScheduler(merger);
        if (createIt)
            config.setOpenMode(OpenMode.CREATE);
        this._writer = new IndexWriter(this._directory, config);
        if (createIt)
            this._writer.commit();
        boolean applyAllDeletes = true;
        // create searcher
        this._searcher = new SearcherManager(this._writer, applyAllDeletes, FACTORY);
        // create reader
        this._reader = new ReaderManager(this._writer, applyAllDeletes);
    }
    // add it to list of opened indexes
    OpenIndexManager.add(this);
    // set state to clean
    state(State.CLEAN);
}

From source file:uk.gov.nationalarchives.discovery.taxonomy.common.config.TrainingSetConfiguration.java

License:Mozilla Public License

@ConditionalOnProperty(prefix = "lucene.categoriser.", value = "useTSetBasedCategoriser")
public @Bean ReaderManager trainingSetReaderManager() throws IOException {
    return new ReaderManager(trainingSetDirectory());
}