List of usage examples for org.apache.lucene.index IndexReader numDocs
public abstract int numDocs();
From source file:org.hibernate.search.test.bridge.ArrayBridgeTest.java
License:Open Source License
private int countSizeForType(Class<?> type) { SearchFactory searchFactory = fullTextSession.getSearchFactory(); int numDocs = -1; // to have it fail in case of errors IndexReader locationIndexReader = searchFactory.getIndexReaderAccessor().open(type); try {/* ww w .j a v a 2 s . c o m*/ numDocs = locationIndexReader.numDocs(); } finally { searchFactory.getIndexReaderAccessor().close(locationIndexReader); } return numDocs; }
From source file:org.hibernate.search.test.configuration.indexingStrategy.ManualIndexingStrategyTest.java
License:LGPL
private int getDocumentNbr() throws Exception { // we directly access the index to verify the document count IndexReader reader = IndexReader.open(getDirectory(TestEntity.class)); try {//w w w . j a v a2s . c o m return reader.numDocs(); } finally { reader.close(); } }
From source file:org.hibernate.search.test.embedded.graph.RecursiveGraphTest.java
License:Open Source License
private int getDocumentNbr(Class type) throws Exception { IndexReader reader = IndexReader.open(getDirectory(type), false); try {/*from w w w. j av a 2 s . c om*/ return reader.numDocs(); } finally { reader.close(); } }
From source file:org.hibernate.search.test.engine.optimizations.deletebyterm.DeleteByTermTest.java
License:LGPL
@Test public void testRelatedHierarchiesWithRootNonIndexed() throws Exception { // Create two entities whose root entity is common but not indexed // delete by term should be used // create a unrelated Lucene Document with the same id // it should be deleted when the entity sharing the id is deleted FullTextSessionBuilder sessionBuilder = new FullTextSessionBuilder(); sessionBuilder.addAnnotatedClass(ASubOfRoot.class).addAnnotatedClass(BSubOfRoot.class).build(); FullTextSession fts = sessionBuilder.openFullTextSession(); fts.beginTransaction();/*w ww .ja v a 2 s . co m*/ ASubOfRoot a = new ASubOfRoot(); a.id = "1"; a.name = "Foo"; fts.persist(a); BSubOfRoot b = new BSubOfRoot(); b.id = "2"; b.otherName = "Bar"; fts.persist(b); fts.getTransaction().commit(); fts.clear(); // add a document that matches the entity a identifier to see if it is removed when the entity is removed DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) fts.getSearchFactory() .unwrap(SearchIntegrator.class).getIndexManager("index1"); WorkspaceHolder backendProcessor = (WorkspaceHolder) indexManager.getWorkspaceHolder(); IndexWriter writer = backendProcessor.getIndexResources().getWorkspace().getIndexWriter(); Document document = new Document(); document.add(new StringField("id", "1", org.apache.lucene.document.Field.Store.NO)); document.add(new TextField("name", "Baz", org.apache.lucene.document.Field.Store.NO)); writer.addDocument(document); writer.commit(); fts.getTransaction().begin(); fts.delete(fts.get(ASubOfRoot.class, a.id)); fts.delete(fts.get(BSubOfRoot.class, b.id)); fts.getTransaction().commit(); fts.close(); // Verify that the index is empty IndexReader indexReader = fts.getSearchFactory().getIndexReaderAccessor().open("index1"); try { assertThat(indexReader.numDocs()).isEqualTo(0); } finally { indexReader.close(); } sessionBuilder.close(); }
From source file:org.hibernate.search.test.engine.optimizations.deletebyterm.DeleteByTermTest.java
License:LGPL
@Test public void testUnrelatedHierarchies() throws Exception { // Create two entities whose root entities are unrelated // delete by term should not be used // create a unrelated Lucene Document with the same id // it should not be deleted when the entity sharing the id is deleted FullTextSessionBuilder sessionBuilder = new FullTextSessionBuilder(); sessionBuilder.addAnnotatedClass(ASubOfRoot.class).addAnnotatedClass(Unrelated.class).build(); FullTextSession fts = sessionBuilder.openFullTextSession(); fts.beginTransaction();//from ww w .ja va2 s . co m ASubOfRoot a = new ASubOfRoot(); a.id = "1"; a.name = "Foo"; fts.persist(a); Unrelated b = new Unrelated(); b.id = "2"; b.name = "Bar"; fts.persist(b); fts.getTransaction().commit(); fts.clear(); // add a document that matches the entity a identifier to see if it is removed when the entity is removed DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) fts.getSearchFactory() .unwrap(SearchIntegrator.class).getIndexManager("index1"); WorkspaceHolder backendProcessor = (WorkspaceHolder) indexManager.getWorkspaceHolder(); IndexWriter writer = backendProcessor.getIndexResources().getWorkspace().getIndexWriter(); Document document = new Document(); document.add(new StringField("id", "1", org.apache.lucene.document.Field.Store.NO)); document.add(new TextField("name", "Baz", org.apache.lucene.document.Field.Store.NO)); writer.addDocument(document); writer.commit(); fts.getTransaction().begin(); fts.delete(fts.get(ASubOfRoot.class, a.id)); fts.delete(fts.get(Unrelated.class, b.id)); fts.getTransaction().commit(); fts.close(); // Verify that the index is empty IndexReader indexReader = fts.getSearchFactory().getIndexReaderAccessor().open("index1"); try { assertThat(indexReader.numDocs()).isEqualTo(1); } finally { indexReader.close(); } sessionBuilder.close(); }
From source file:org.hibernate.search.test.engine.TransactionTest.java
License:LGPL
private int getDocumentNumber() throws IOException { IndexReader reader = DirectoryReader.open(getDirectory(Document.class)); try {/* w ww .j av a 2 s . c om*/ return reader.numDocs(); } finally { reader.close(); } }
From source file:org.hibernate.search.test.FSDirectoryTest.java
License:Open Source License
public void testEventIntegration() throws Exception { Session s = getSessions().openSession(); s.getTransaction().begin();/* w w w .ja v a 2s .c o m*/ s.persist( new Document("Hibernate in Action", "Object/relational mapping with Hibernate", "blah blah blah")); s.getTransaction().commit(); s.close(); Directory dir = FSDirectory.open(new File(getBaseIndexDir(), "Documents")); try { IndexReader reader = IndexReader.open(dir, true); try { int num = reader.numDocs(); assertEquals(1, num); TermDocs docs = reader.termDocs(new Term("Abstract", "hibernate")); assertTrue(docs.next()); org.apache.lucene.document.Document doc = reader.document(docs.doc()); assertFalse(docs.next()); docs = reader.termDocs(new Term("title", "action")); assertTrue(docs.next()); doc = reader.document(docs.doc()); assertFalse(docs.next()); assertEquals("1", doc.getField("id").stringValue()); } finally { reader.close(); } s = getSessions().openSession(); s.getTransaction().begin(); Document entity = (Document) s.get(Document.class, Long.valueOf(1)); entity.setSummary("Object/relational mapping with EJB3"); s.persist(new Document("Seam in Action", "", "blah blah blah blah")); s.getTransaction().commit(); s.close(); reader = IndexReader.open(dir, true); try { int num = reader.numDocs(); assertEquals(2, num); TermDocs docs = reader.termDocs(new Term("Abstract", "ejb")); assertTrue(docs.next()); org.apache.lucene.document.Document doc = reader.document(docs.doc()); assertFalse(docs.next()); } finally { reader.close(); } s = getSessions().openSession(); s.getTransaction().begin(); s.delete(entity); s.getTransaction().commit(); s.close(); reader = IndexReader.open(dir, true); try { int num = reader.numDocs(); assertEquals(1, num); TermDocs docs = reader.termDocs(new Term("title", "seam")); assertTrue(docs.next()); org.apache.lucene.document.Document doc = reader.document(docs.doc()); assertFalse(docs.next()); assertEquals("2", doc.getField("id").stringValue()); } finally { reader.close(); } } finally { dir.close(); } s = getSessions().openSession(); s.getTransaction().begin(); s.delete(s.createCriteria(Document.class).uniqueResult()); s.getTransaction().commit(); s.close(); }
From source file:org.hibernate.search.test.indexingStrategy.ManualIndexingStrategyTest.java
License:Open Source License
private int getDocumentNbr() throws Exception { IndexReader reader = IndexReader.open(getDirectory(Document.class), false); try {// w ww . j a v a 2 s . c o m return reader.numDocs(); } finally { reader.close(); } }
From source file:org.hibernate.search.test.reader.nrtreaders.BasicNRTFunctionalityTest.java
License:Open Source License
private int getDocumentNbrFromReaderProvider(NRTIndexManager indexManager) { IndexReader reader = indexManager.getReaderProvider().openIndexReader(); try {//from www. ja v a 2 s. c o m return reader.numDocs(); } finally { indexManager.getReaderProvider().closeIndexReader(reader); } }
From source file:org.hibernate.search.test.reader.nrtreaders.BasicNRTFunctionalityTest.java
License:Open Source License
private int getDocumentNbrFromFilesystem(NRTIndexManager documentsIndexManager) throws Exception { IndexReader reader = IndexReader.open(documentsIndexManager.getDirectoryProvider().getDirectory(), true); try {/*w w w .ja v a 2s . c o m*/ return reader.numDocs(); } finally { reader.close(); } }