List of usage examples for org.apache.lucene.index IndexWriter IndexWriter
public IndexWriter(Directory d, IndexWriterConfig conf) throws IOException
conf
. From source file:com.icdd.lucence.IndexFiles.java
License:Apache License
public void index(boolean mode) { boolean create = mode; final Path docDir = Paths.get(docsPath); if (!Files.isReadable(docDir)) { logger.warn("Document directory '" + docDir + "'does not exist or is not readable, " + "please check the path"); System.exit(1);//w w w .j a v a 2 s.c o m } Date start = new Date(); try { logger.warn("Indexing to directory '" + indexPath + "'..."); Directory dir = FSDirectory.open(Paths.get(indexPath)); Analyzer analyzer = new StandardAnalyzer(); IndexWriterConfig iwc = new IndexWriterConfig(analyzer); if (create) { iwc.setOpenMode(OpenMode.CREATE); } else { iwc.setOpenMode(OpenMode.CREATE_OR_APPEND); } IndexWriter writer = new IndexWriter(dir, iwc); indexDocs(writer, docDir); writer.close(); Date end = new Date(); System.out.println(end.getTime() - start.getTime() + " total milliseconds"); } catch (IOException e) { System.out.println(" caught a " + e.getClass() + "\n with message: " + e.getMessage()); } }
From source file:com.icdd.lucene.CreateIndex.java
License:Apache License
public CreateIndex(boolean mode) { boolean create = mode; try {/* w ww. j a v a 2 s . c om*/ Directory dir = FSDirectory.open(Paths.get(INDEX_PATH)); IndexWriterConfig iwc = new IndexWriterConfig(ANALYZER); if (create) iwc.setOpenMode(OpenMode.CREATE); else { iwc.setOpenMode(OpenMode.CREATE_OR_APPEND); } writer = new IndexWriter(dir, iwc); } catch (IOException e) { e.printStackTrace(); } }
From source file:com.ikon.analysis.SearchDemo.java
License:Open Source License
/** * Add documents/* w w w .j av a 2 s . co m*/ */ private static void add(Directory index, Analyzer analyzer, String str) throws IOException, ParseException { IndexWriterConfig config = new IndexWriterConfig(Config.LUCENE_VERSION, analyzer); IndexWriter w = new IndexWriter(index, config); Document doc = new Document(); doc.add(new Field(DOC_FIELD, str, Field.Store.YES, Field.Index.ANALYZED)); w.addDocument(doc); w.close(); }
From source file:com.impetus.kundera.index.LuceneIndexer.java
License:Apache License
/** * Instantiates a new lucene indexer.// w w w . j a v a 2 s .c o m * * @param analyzer * the analyzer * @param lucDirPath * the luc dir path */ private LuceneIndexer(String lucDirPath) { try { luceneDirPath = lucDirPath; File file = new File(luceneDirPath); if (file.exists()) { FSDirectory sourceDir = FSDirectory.open(getIndexDirectory().toPath()); // TODO initialize context. index = new RAMDirectory(sourceDir, IOContext.DEFAULT); } else { index = new RAMDirectory(); } /* * FSDirectory.open(getIndexDirectory( )) */ // isInitialized /* writer */ IndexWriterConfig indexWriterConfig = new IndexWriterConfig(analyzer); LogDocMergePolicy logDocMergePolicy = new LogDocMergePolicy(); logDocMergePolicy.setMergeFactor(1000); indexWriterConfig.setMergePolicy(logDocMergePolicy); w = new IndexWriter(index, indexWriterConfig); w.getConfig().setRAMBufferSizeMB(32); } catch (Exception e) { log.error("Error while instantiating LuceneIndexer, Caused by :.", e); throw new LuceneIndexingException(e); } }
From source file:com.impetus.kundera.index.LuceneIndexer.java
License:Apache License
@Override public final void unindex(EntityMetadata metadata, Object id, KunderaMetadata kunderaMetadata, Class<?> parentClazz) throws LuceneIndexingException { if (log.isDebugEnabled()) log.debug("Unindexing @Entity[{}] for key:{}", metadata.getEntityClazz().getName(), id); String luceneQuery = null;/* ww w . j a va 2 s .co m*/ boolean isEmbeddedId = false; MetamodelImpl metaModel = null; if (kunderaMetadata != null && metadata != null) { metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata() .getMetamodel(metadata.getPersistenceUnit()); isEmbeddedId = metaModel.isEmbeddable(metadata.getIdAttribute().getBindableJavaType()); } try { QueryParser qp = new QueryParser(DEFAULT_SEARCHABLE_FIELD, new StandardAnalyzer()); qp.setLowercaseExpandedTerms(false); qp.setAllowLeadingWildcard(true); luceneQuery = getLuceneQuery(metadata, id, isEmbeddedId, metaModel, parentClazz); Query q = qp.parse(luceneQuery); w.deleteDocuments(q); w.commit(); w.close(); IndexWriterConfig indexWriterConfig = new IndexWriterConfig(analyzer); LogDocMergePolicy logDocMergePolicy = new LogDocMergePolicy(); logDocMergePolicy.setMergeFactor(1000); indexWriterConfig.setMergePolicy(logDocMergePolicy); w = new IndexWriter(index, indexWriterConfig); w.getConfig().setRAMBufferSizeMB(32); // flushInternal(); } catch (Exception e) { log.error("Error while instantiating LuceneIndexer, Caused by :.", e); throw new LuceneIndexingException(e); } }
From source file:com.intuit.tank.search.lucene.LuceneService.java
License:Open Source License
/** * Gets a writer for the search index location * //from w w w . ja v a2 s . c om * @return */ private IndexWriter getWriter() { IndexWriter writer = null; try { IndexWriterConfig iwc = new IndexWriterConfig(SearchConstants.version, SearchConstants.analyzer); IndexWriter.unlock(directory); writer = new IndexWriter(directory, iwc); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } return writer; }
From source file:com.isa.basic.IndexFiles.java
License:Apache License
/** Index all text files under a directory. */ public static void main(String[] args) { String usage = "java org.apache.lucene.demo.IndexFiles" + " [-index INDEX_PATH] [-docs DOCS_PATH] [-update]\n\n" + "This indexes the documents in DOCS_PATH, creating a Lucene index" + "in INDEX_PATH that can be searched with SearchFiles"; String indexPath = "index"; String docsPath = null;//from w ww .j a v a2 s. co m boolean create = true; for (int i = 0; i < args.length; i++) { if ("-index".equals(args[i])) { indexPath = args[i + 1]; i++; } else if ("-docs".equals(args[i])) { docsPath = args[i + 1]; i++; } else if ("-update".equals(args[i])) { create = false; } } if (docsPath == null) { System.err.println("Usage: " + usage); System.exit(1); } // docsPath = Thread.currentThread().getContextClassLoader().getResource(docsPath).; // indexPath = Thread.currentThread().getContextClassLoader().getResource(indexPath).toString(); final Path docDir = Paths.get(docsPath); if (!Files.isReadable(docDir)) { System.out.println("Document directory '" + docDir.toAbsolutePath() + "' does not exist or is not readable, please check the path"); System.exit(1); } Date start = new Date(); try { System.out.println("Indexing to directory '" + indexPath + "'..."); Directory dir = FSDirectory.open(Paths.get(indexPath)); Analyzer analyzer = new StandardAnalyzer(); IndexWriterConfig iwc = new IndexWriterConfig(analyzer); if (create) { // Create a new index in the directory, removing any // previously indexed documents: iwc.setOpenMode(OpenMode.CREATE); } else { // Add new documents to an existing index: iwc.setOpenMode(OpenMode.CREATE_OR_APPEND); } // Optional: for better indexing performance, if you // are indexing many documents, increase the RAM // buffer. But if you do this, increase the max heap // size to the JVM (eg add -Xmx512m or -Xmx1g): // // iwc.setRAMBufferSizeMB(256.0); IndexWriter writer = new IndexWriter(dir, iwc); indexDocs(writer, docDir); // NOTE: if you want to maximize search performance, // you can optionally call forceMerge here. This can be // a terribly costly operation, so generally it's only // worth it when your index is relatively static (ie // you're done adding documents to it): // // writer.forceMerge(1); writer.close(); Date end = new Date(); System.out.println(end.getTime() - start.getTime() + " total milliseconds"); } catch (IOException e) { System.out.println(" caught a " + e.getClass() + "\n with message: " + e.getMessage()); } }
From source file:com.ivannotes.searchbee.demo.TxtSearchBee.java
License:Apache License
@Override protected IndexWriter getIndexWriter() { Directory dir;//w ww .ja va2s . com try { dir = FSDirectory.open(new File(idxPath)); IndexWriterConfig idxCfg = new IndexWriterConfig(matchVersion, analyzer); idxCfg.setOpenMode(OpenMode.CREATE); IndexWriter idxWriter = new IndexWriter(dir, idxCfg); return idxWriter; } catch (IOException e) { throw new RuntimeException("Create index writer error. ", e); } }
From source file:com.jaeksoft.searchlib.index.WriterLocal.java
License:Open Source License
private final IndexWriter open(boolean create) throws CorruptIndexException, LockObtainFailedException, IOException, SearchLibException { IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_36, null); config.setOpenMode(create ? OpenMode.CREATE_OR_APPEND : OpenMode.APPEND); config.setMergeScheduler(new SerialMergeScheduler()); config.setWriteLockTimeout(indexConfig.getWriteLockTimeout()); Similarity similarity = indexConfig.getNewSimilarityInstance(); if (similarity != null) config.setSimilarity(similarity); Logging.debug("WriteLocal open " + indexDirectory.getDirectory()); return new IndexWriter(indexDirectory.getDirectory(), config); }
From source file:com.jaeksoft.searchlib.index.WriterLucene.java
License:Open Source License
private final IndexWriter open(boolean create) throws CorruptIndexException, LockObtainFailedException, IOException, SearchLibException { IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_36, null); config.setOpenMode(create ? OpenMode.CREATE_OR_APPEND : OpenMode.APPEND); config.setMergeScheduler(new SerialMergeScheduler()); Similarity similarity = indexConfig.getNewSimilarityInstance(); if (similarity != null) config.setSimilarity(similarity); Logging.debug("WriteLocal open " + indexDirectory.getDirectory()); return new IndexWriter(indexDirectory.getDirectory(), config); }