List of usage examples for org.apache.lucene.index IndexWriter segString
synchronized String segString()
From source file:luceneingester.TrecIngester.java
License:Apache License
public static void main(String[] clArgs) throws Exception { Args args = new Args(clArgs); final String dirPath = args.getString("-indexPath") + "/index"; final String dataDir = args.getString("-dataDir"); final int docCountLimit = args.getInt("-docCountLimit"); // -1 means all docs from the source: final int numThreads = args.getInt("-threadCount"); final boolean verbose = args.getFlag("-verbose"); final boolean printDPS = args.getFlag("-printDPS"); final boolean doUpdate = args.getFlag("-update"); final boolean positions = args.getFlag("-positions"); args.check();/*from w ww. ja va 2 s . c o m*/ final Analyzer a = new EnglishAnalyzer(); final TrecContentSource trecSource = createTrecSource(dataDir); final Directory dir = FSDirectory.open(Paths.get(dirPath)); System.out.println("Index path: " + dirPath); System.out.println("Doc count limit: " + (docCountLimit == -1 ? "all docs" : "" + docCountLimit)); System.out.println("Threads: " + numThreads); System.out.println("Verbose: " + (verbose ? "yes" : "no")); System.out.println("Positions: " + (positions ? "yes" : "no")); if (verbose) { InfoStream.setDefault(new PrintStreamInfoStream(System.out)); } final IndexWriterConfig iwc = new IndexWriterConfig(a); if (doUpdate) { iwc.setOpenMode(IndexWriterConfig.OpenMode.APPEND); } else { iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE); } System.out.println("IW config=" + iwc); final IndexWriter w = new IndexWriter(dir, iwc); IndexThreads threads = new IndexThreads(w, positions, trecSource, numThreads, docCountLimit, printDPS); System.out.println("\nIndexer: start"); final long t0 = System.currentTimeMillis(); threads.start(); while (!threads.done()) { Thread.sleep(100); } threads.stop(); final long t1 = System.currentTimeMillis(); System.out.println( "\nIndexer: indexing done (" + (t1 - t0) / 1000.0 + " sec); total " + w.maxDoc() + " docs"); if (!doUpdate && docCountLimit != -1 && w.maxDoc() != docCountLimit) { throw new RuntimeException("w.maxDoc()=" + w.maxDoc() + " but expected " + docCountLimit); } if (threads.failed.get()) { throw new RuntimeException("exceptions during indexing"); } final long t2; t2 = System.currentTimeMillis(); final Map<String, String> commitData = new HashMap<String, String>(); commitData.put("userData", "multi"); w.setCommitData(commitData); w.commit(); final long t3 = System.currentTimeMillis(); System.out.println("\nIndexer: commit multi (took " + (t3 - t2) / 1000.0 + " sec)"); System.out.println("\nIndexer: at close: " + w.segString()); final long tCloseStart = System.currentTimeMillis(); w.close(); System.out.println("\nIndexer: close took " + (System.currentTimeMillis() - tCloseStart) / 1000.0 + " sec"); dir.close(); final long tFinal = System.currentTimeMillis(); System.out.println("\nIndexer: finished (" + (tFinal - t0) / 1000.0 + " sec)"); System.out.println("\nIndexer: net bytes indexed " + threads.getBytesIndexed()); System.out.println( "\nIndexer: " + (threads.getBytesIndexed() / 1024. / 1024. / 1024. / ((tFinal - t0) / 3600000.)) + " GB/hour plain text"); }
From source file:perf.OpenCloseIndexWriter.java
License:Apache License
public static void main(String[] args) throws IOException { final String dirPath = args[0]; final Directory dir = new MMapDirectory(new File(dirPath)); final Analyzer a = new StandardAnalyzer(CharArraySet.EMPTY_SET); final IndexWriterConfig iwc = new IndexWriterConfig(a); final IndexWriter writer = new IndexWriter(dir, iwc); System.out.println("Segments: " + writer.segString()); writer.close();//from www . j av a 2 s . com dir.close(); }