List of usage examples for org.apache.lucene.index IndexWriter addIndexes
public long addIndexes(CodecReader... readers) throws IOException
From source file:org.ms123.common.data.lucene.LuceneServiceImpl.java
License:Open Source License
public synchronized void commit(LuceneSession session) { IndexWriter tiw = session.getIndexWriter(); String namespace = session.getStoreDesc().getNamespace(); try {/*from ww w. ja va 2s . c o m*/ IndexReader ir = IndexReader.open(tiw, true); IndexWriter riw = getRealIndexWriter(namespace); deleteExistingDocs(session, riw); riw.addIndexes(ir); riw.maybeMerge(); riw.commit(); tiw.getDirectory().close(); } catch (Exception e) { e.printStackTrace(); } }
From source file:org.punksearch.crawler.IndexOperator.java
License:Open Source License
public static void merge(String targetDir, Set<String> sourceDirs) { try {//w w w . j a v a 2s. co m IndexWriter iw = createIndexWriter(targetDir); Directory[] dirs = new Directory[sourceDirs.size()]; int i = 0; for (String source : sourceDirs) { dirs[i] = LuceneUtils.dir(source); i++; } iw.addIndexes(dirs); iw.commit(); iw.close(); } catch (IOException ex) { log.error("Exception during merging index directories", ex); throw new RuntimeException(ex); } }
From source file:org.riotfamily.search.index.Indexer.java
License:Apache License
public void crawlerFinished() { try {/*from ww w .j a v a 2 s . co m*/ tempWriter.close(); IndexWriter indexWriter = new IndexWriter(indexDir, null, true); indexWriter.addIndexes(new Directory[] { tempIndexDir }); indexWriter.close(); } catch (IOException e) { log.error("Error", e); } tempWriter = null; }
From source file:org.springmodules.lucene.index.core.DefaultLuceneIndexTemplate.java
License:Apache License
public void addIndexes(Directory[] directories) { IndexWriter writer = IndexWriterFactoryUtils.getIndexWriter(indexFactory); try {/*from w w w . ja va2 s . c om*/ writer.addIndexes(directories); } catch (IOException ex) { throw new LuceneIndexAccessException("Error during adding indexes.", ex); } finally { IndexWriterFactoryUtils.releaseIndexWriter(indexFactory, writer); } }
From source file:org.talend.dataquality.semantic.api.DictionaryUtils.java
License:Open Source License
static void rewriteIndex(Directory srcDir, File destFolder) throws IOException { final FSDirectory destDir = FSDirectory.open(destFolder); final IndexWriterConfig iwc = new IndexWriterConfig(Version.LATEST, new StandardAnalyzer(CharArraySet.EMPTY_SET)); final IndexWriter writer = new IndexWriter(destDir, iwc); writer.addIndexes(srcDir); writer.commit();/* www . ja v a 2 s .c om*/ writer.close(); destDir.close(); }
From source file:org.wikimedia.revdiffsearch.IndexMerger.java
License:Open Source License
/** Index all text files under a directory. */ public static void main(String[] args) { if (args.length != 2) { System.out.println("Usage: java -jar IndexMerger.jar " + "merged_index_dir existing_index_dir1 existing_index_dir2 ..."); System.out.println(" merged_index_dir: A directory where the merged " + "index will be stored"); System.out.println(" e.g. merged_indexes"); System.out/* ww w. j a va2 s . c om*/ .println(" existing_indexes_dir: A directory where the " + "indexes that have to merged exist"); System.out.println(" e.g. indexes/"); System.out.println(" e.g. index1"); System.out.println(" e.g. index2"); System.out.println(" e.g. index3"); System.exit(1); } int ramBufferSizeMB = 1024; int ngram = 3; File INDEX_DIR = new File(args[0]); { String s; if ((s = System.getProperty("ngram")) != null) { ngram = Integer.parseInt(s); } if ((s = System.getProperty("ramBufferSize")) != null) { ramBufferSizeMB = Integer.parseInt(s); } } INDEX_DIR.mkdir(); Date start = new Date(); try { IndexWriterConfig cfg = new IndexWriterConfig(Version.LUCENE_44, new SimpleNGramAnalyzer(ngram)); LogDocMergePolicy lmp = new LogDocMergePolicy(); lmp.setMergeFactor(1000); cfg.setRAMBufferSizeMB(ramBufferSizeMB); cfg.setMergePolicy(lmp); IndexWriter writer = new IndexWriter(FSDirectory.open(INDEX_DIR), cfg); // IndexWriter writer = new IndexWriter(INDEX_DIR, // new StandardAnalyzer(Version.LUCENE_44), // true); // writer.setMergeFactor(1000); // writer.setRAMBufferSizeMB(50); List<Directory> indexes = new ArrayList<Directory>(); for (String indexdir : Arrays.asList(args).subList(1, args.length)) { System.out.println("Adding: " + indexdir); indexes.add(FSDirectory.open(new File(indexdir))); } System.out.print("Merging added indexes..."); writer.addIndexes(indexes.toArray(new Directory[indexes.size()])); System.out.println("done"); writer.close(); System.out.println("done"); Date end = new Date(); System.out.println("It took: " + ((end.getTime() - start.getTime()) / 1000) + "\""); } catch (IOException e) { e.printStackTrace(); } }
From source file:proj.zoie.impl.indexing.internal.BaseSearchIndex.java
License:Apache License
public void loadFromIndex(BaseSearchIndex<R> index) throws IOException { // hao: open readOnly ram index reader ZoieIndexReader<R> reader = index.openIndexReader(); if (reader == null) return;//ww w . j ava 2 s . c o m Directory dir = reader.directory(); // hao: delete docs in disk index LongSet delDocs = _delDocs; clearDeletes(); deleteDocs(delDocs); // hao: merge the readOnly ram index with the disk index IndexWriter writer = null; try { writer = openIndexWriter(null, null); writer.addIndexes(new Directory[] { dir }); writer.maybeMerge(); } finally { closeIndexWriter(); } }
From source file:spell.SpellIndex.java
License:Apache License
/** * Index a Dictionary from either a file or another Lucene index. * @param dict the dictionary to index//w ww . j a v a 2 s.c om * @throws IOException */ public void indexDictionary(Dictionary dict) throws IOException { RAMDirectory ramdir = new RAMDirectory(); IndexWriter ramwriter = new IndexWriter(ramdir, s_analyzer, true); ramwriter.mergeFactor = 10000; Iterator iter = dict.getWordsIterator(); while (iter.hasNext()) { String word = (String) iter.next(); // Don't add existing words if (this.exist(word)) { // if the word already exist in the gramindex continue; } // add the word and index it if it's long enough Document doc = createDocument(word); ramwriter.addDocument(doc); } ramwriter.optimize(); IndexReader.unlock(spellindex); IndexWriter writer = new IndexWriter(spellindex, s_analyzer, false); writer.addIndexes(new Directory[] { ramdir }); writer.optimize(); writer.close(); ramwriter.close(); ramdir.close(); }