List of usage examples for org.apache.lucene.index IndexWriter close
@Override public void close() throws IOException
From source file:com.doculibre.constellio.lucene.BaseLuceneIndexHelper.java
License:Open Source License
@Override public synchronized void delete(T object) { int docNum = getDocNum(object); if (docNum != -1) { try {/* ww w . j ava 2 s. c om*/ String uniqueIndexFieldName = getUniqueIndexFieldName(); String uniqueIndexFieldValue = getUniqueIndexFieldValue(object); Directory directory = FSDirectory.open(indexDir); if (DirectoryReader.indexExists(directory)) { Analyzer analyzer = analyzerProvider.getAnalyzer(Locale.FRENCH); IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig(Version.LUCENE_44, analyzer)); Term term = new Term(uniqueIndexFieldName, uniqueIndexFieldValue); indexWriter.deleteDocuments(term); indexWriter.close(); } directory.close(); } catch (IOException e) { throw new RuntimeException(e); } } }
From source file:com.doculibre.constellio.lucene.BaseLuceneIndexHelper.java
License:Open Source License
@Override public synchronized void deleteAll() { try {//from www . ja v a 2 s . c o m Directory directory = FSDirectory.open(indexDir); Analyzer analyzer = analyzerProvider.getAnalyzer(Locale.FRENCH); IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig(Version.LUCENE_44, analyzer)); indexWriter.deleteAll(); indexWriter.addDocument(new Document()); // indexWriter.optimize(); indexWriter.close(); directory.close(); } catch (IOException e) { throw new RuntimeException(e); } }
From source file:com.doculibre.constellio.lucene.BaseLuceneIndexHelper.java
License:Open Source License
private void createIndexIfNecessary() { try {/*from ww w . j a v a2s. co m*/ Directory directory = FSDirectory.open(indexDir); if (!DirectoryReader.indexExists(directory)) { Analyzer analyzer = analyzerProvider.getAnalyzer(Locale.FRENCH); IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig(Version.LUCENE_44, analyzer)); indexWriter.addDocument(new Document()); indexWriter.close(); } directory.close(); } catch (IOException e) { throw new RuntimeException(e); } }
From source file:com.doculibre.constellio.lucene.BaseLuceneIndexHelper.java
License:Open Source License
public synchronized final void rebuild() { deleteAll();//from w w w.j a v a 2 s. co m try { Directory directory = FSDirectory.open(indexDir); Analyzer analyzer = analyzerProvider.getAnalyzer(Locale.FRENCH); IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_44, analyzer); IndexWriter indexWriter = new IndexWriter(directory, config); List<T> objects = getAll(); for (T object : objects) { add(object, indexWriter); } // indexWriter.optimize(); indexWriter.close(); directory.close(); } catch (IOException e) { throw new RuntimeException(e); } }
From source file:com.doculibre.constellio.lucene.impl.SkosIndexHelperImpl.java
License:Open Source License
@Override public void add(Thesaurus thesaurus) { delete(thesaurus);//from w w w . j ava 2 s.co m try { Directory directory = FSDirectory.open(getIndexDir()); Analyzer analyzer = getAnalyzerProvider().getAnalyzer(Locale.FRENCH); IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig(Version.LUCENE_44, analyzer)); List<SkosConcept> skosConcepts = new ArrayList<SkosConcept>(); for (SkosConcept topConcept : thesaurus.getTopConcepts()) { addConceptAndSubConcepts(topConcept, skosConcepts); } for (SkosConcept skosConcept : skosConcepts) { add(skosConcept, indexWriter); } // indexWriter.optimize(); indexWriter.close(); directory.close(); } catch (IOException e) { throw new RuntimeException(e); } }
From source file:com.doculibre.constellio.lucene.impl.SkosIndexHelperImpl.java
License:Open Source License
@Override public void delete(Thesaurus thesaurus) { try {/*from w w w .ja v a 2s.c o m*/ Directory directory = FSDirectory.open(getIndexDir()); if (DirectoryReader.indexExists(directory)) { Analyzer analyzer = getAnalyzerProvider().getAnalyzer(Locale.FRENCH); IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig(Version.LUCENE_44, analyzer)); Term term = new Term(THESAURUS_ID, thesaurus.getId().toString()); indexWriter.deleteDocuments(term); indexWriter.close(); } directory.close(); } catch (IOException e) { throw new RuntimeException(e); } }
From source file:com.dreamerpartner.codereview.lucene.IndexHelper.java
License:Apache License
/** * ?/*from www . j a va 2 s .c o m*/ * @param module ? * @param doc * @param isNew * @param delTerm del * @throws IOException */ @SuppressWarnings("deprecation") public static void add(String module, Document doc, boolean isNew, Term delTerm) throws IOException { long beginTime = System.currentTimeMillis(); IndexWriter writer = null; try { Directory dir = FSDirectory.open(new File(LuceneUtil.getIndexPath(module))); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_4_10_0); IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_4_10_0, analyzer); iwc.setMaxBufferedDocs(100); iwc.setOpenMode(OpenMode.CREATE_OR_APPEND); // iwc.setRAMBufferSizeMB(256.0);// ? writer = new IndexWriter(dir, iwc); if (isNew) { writer.addDocument(doc); } else { writer.updateDocument(delTerm, doc); } //??? writer.commit(); } finally { long endTime = System.currentTimeMillis(); logger.debug("isNew:" + isNew + ", add consume " + (endTime - beginTime) + " milliseconds."); if (writer != null) writer.close(); } }
From source file:com.dreamerpartner.codereview.lucene.IndexHelper.java
License:Apache License
/** * ??//from w ww . j av a 2 s .com * @param module ? * @param docs * @param isNew * @param delTerm del * @throws IOException */ @SuppressWarnings("deprecation") public static void adds(String module, List<Document> docs, boolean isNew, Term delTerm) throws IOException { long beginTime = System.currentTimeMillis(); IndexWriter writer = null; try { Directory dir = FSDirectory.open(new File(LuceneUtil.getIndexPath(module))); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_4_10_0); IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_4_10_0, analyzer); iwc.setMaxBufferedDocs(100); iwc.setOpenMode(OpenMode.CREATE_OR_APPEND); // iwc.setRAMBufferSizeMB(256.0);// ? writer = new IndexWriter(dir, iwc); if (isNew) { writer.addDocuments(docs); } else { writer.updateDocuments(delTerm, docs); } writer.commit(); } finally { long endTime = System.currentTimeMillis(); logger.debug("adds consume " + (endTime - beginTime) + " milliseconds."); if (writer != null) writer.close(); } }
From source file:com.dreamerpartner.codereview.lucene.IndexHelper.java
License:Apache License
/** * ?//from ww w .j a v a 2 s .co m * @param module ? * @param term ? * @throws IOException */ @SuppressWarnings("deprecation") public static void delete(String module, Term... term) throws IOException { long beginTime = System.currentTimeMillis(); IndexWriter writer = null; try { Directory dir = FSDirectory.open(new File(LuceneUtil.getIndexPath(module))); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_4_10_0); IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_4_10_0, analyzer); iwc.setMaxBufferedDocs(100); iwc.setOpenMode(OpenMode.CREATE_OR_APPEND); writer = new IndexWriter(dir, iwc); writer.deleteDocuments(term); writer.commit(); } finally { long endTime = System.currentTimeMillis(); logger.debug(module + " delete " + (endTime - beginTime) + " milliseconds."); if (writer != null) writer.close(); } }
From source file:com.dreamerpartner.codereview.lucene.IndexHelper.java
License:Apache License
/** * ?/*from ww w . j a va 2 s. co m*/ * @param module ? * @throws IOException */ @SuppressWarnings("deprecation") public static void deleteAll(String module) throws IOException { long beginTime = System.currentTimeMillis(); IndexWriter writer = null; try { Directory dir = FSDirectory.open(new File(LuceneUtil.getIndexPath(module))); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_4_10_0); IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_4_10_0, analyzer); iwc.setMaxBufferedDocs(100); iwc.setOpenMode(OpenMode.CREATE_OR_APPEND); writer = new IndexWriter(dir, iwc); writer.deleteAll(); writer.commit(); } finally { long endTime = System.currentTimeMillis(); logger.debug(module + " deleteAll " + (endTime - beginTime) + " milliseconds."); if (writer != null) writer.close(); } }