List of usage examples for org.apache.lucene.index IndexWriter close
@Override public void close() throws IOException
From source file:action.indexing.IndexingTest.java
License:Apache License
public void testIndexWriter() throws IOException { IndexWriter writer = getWriter(); assertEquals(ids.length, writer.numDocs()); //7 writer.close(); }
From source file:action.indexing.IndexingTest.java
License:Apache License
public void testDeleteBeforeOptimize() throws IOException { IndexWriter writer = getWriter(); assertEquals(2, writer.numDocs()); //A writer.deleteDocuments(new Term("id", "1")); //B writer.commit();//from w w w .j av a 2 s .c o m assertTrue(writer.hasDeletions()); //1 assertEquals(2, writer.maxDoc()); //2 assertEquals(1, writer.numDocs()); //2 writer.close(); }
From source file:action.indexing.IndexingTest.java
License:Apache License
public void testDeleteAfterOptimize() throws IOException { IndexWriter writer = getWriter(); assertEquals(2, writer.numDocs());//from www.jav a2s. co m writer.deleteDocuments(new Term("id", "1")); writer.optimize(); //3 writer.commit(); assertFalse(writer.hasDeletions()); assertEquals(1, writer.maxDoc()); //C assertEquals(1, writer.numDocs()); //C writer.close(); }
From source file:action.indexing.IndexingTest.java
License:Apache License
public void testUpdate() throws IOException { assertEquals(1, getHitCount("city", "Amsterdam")); IndexWriter writer = getWriter(); Document doc = new Document(); //A doc.add(new Field("id", "1", Field.Store.YES, Field.Index.NOT_ANALYZED)); //A doc.add(new Field("country", "Netherlands", Field.Store.YES, Field.Index.NO)); //A doc.add(new Field("contents", "Den Haag has a lot of museums", Field.Store.NO, Field.Index.ANALYZED)); //A doc.add(new Field("city", "Den Haag", Field.Store.YES, Field.Index.ANALYZED)); //A writer.updateDocument(new Term("id", "1"), //B doc); //B writer.close(); assertEquals(0, getHitCount("city", "Amsterdam"));//C assertEquals(1, getHitCount("city", "Haag")); //D }
From source file:action.indexing.IndexingTest.java
License:Apache License
public void testMaxFieldLength() throws IOException { assertEquals(1, getHitCount("contents", "bridges")); //1 IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(), //2 new IndexWriter.MaxFieldLength(1)); //2 Document doc = new Document(); // 3 doc.add(new Field("contents", "these bridges can't be found", // 3 Field.Store.NO, Field.Index.ANALYZED)); // 3 writer.addDocument(doc); // 3 writer.close(); // 3 assertEquals(1, getHitCount("contents", "bridges")); //4 }
From source file:action.indexing.LockTest.java
License:Apache License
public void testWriteLock() throws IOException { IndexWriter writer1 = new IndexWriter(dir, new SimpleAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED); IndexWriter writer2 = null;// w w w.j av a 2 s . c o m try { writer2 = new IndexWriter(dir, new SimpleAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED); fail("We should never reach this point"); } catch (LockObtainFailedException e) { // e.printStackTrace(); // #A } finally { writer1.close(); assertNull(writer2); TestUtil.rmDir(indexDir); } }
From source file:action.indexing.VerboseIndexing.java
License:Apache License
private void index() throws IOException { Directory dir = new RAMDirectory(); IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED); writer.setInfoStream(System.out); for (int i = 0; i < 100; i++) { Document doc = new Document(); doc.add(new Field("keyword", "goober", Field.Store.YES, Field.Index.NOT_ANALYZED)); writer.addDocument(doc);// w ww . j a v a 2 s. co m } writer.optimize(); writer.close(); }
From source file:analysis.SynonymAnalyzerTest.java
License:Apache License
public void setUp() throws Exception { RAMDirectory directory = new RAMDirectory(); IndexWriter writer = new IndexWriter(directory, synonymAnalyzer, //#1 IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.add(new Field("content", "The quick brown fox jumps over the lazy dog", Field.Store.YES, Field.Index.ANALYZED)); //#2 writer.addDocument(doc);/*w w w . j a v a 2s . c o m*/ writer.close(); searcher = new IndexSearcher(directory, true); }
From source file:antnlp.opie.indexsearch.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 w w . j a va 2s . 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); } 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(); //Analyzer analyzer = new StandardAnalyzer(CharArraySet.EMPTY_SET); Analyzer analyzer = new WhitespaceAnalyzer(); 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:aos.lucene.analysis.codec.MetaphoneAnalyzerTest.java
License:Apache License
public void testKoolKat() throws Exception { RAMDirectory directory = new RAMDirectory(); Analyzer analyzer = new MetaphoneReplacementAnalyzer(); IndexWriter writer = new IndexWriter(directory, analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.add(new Field("contents", "cool cat", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc);//from w w w.j a v a 2 s. c om writer.close(); IndexSearcher searcher = new IndexSearcher(directory); Query query = new QueryParser(Version.LUCENE_46, "contents", analyzer).parse("kool kat"); TopDocs hits = searcher.search(query, 1); assertEquals(1, hits.totalHits); int docID = hits.scoreDocs[0].doc; Document storedDoc = searcher.doc(docID); assertEquals("cool cat", storedDoc.get("contents")); searcher.close(); }