⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testgdataindexer.java

📁 lucene2.2.0版本
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        IndexDocument iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.INSERT);        /*         * write doc to index         */        this.indexer.writer.addDocument(doc);               this.indexer.closeWriter();        IndexSearcher s = new IndexSearcher(this.dir);        Hits h = s.search(new TermQuery(delTerm));        assertEquals(1, h.length());        s.close();                /*         * del doc via indexer         */        iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.DELETE);        this.indexer.deleteDocument(iDoc);        assertEquals(0,this.indexer.docsAdded.get());        assertEquals(1,this.indexer.docsDeleted.get());        assertEquals(0,this.indexer.docsUpdated.get());        this.indexer.commit(false);        s = new IndexSearcher(this.dir);        h = s.search(new TermQuery(delTerm));        assertEquals(0, h.length());        s.close();                /*         * test insert / del without optimize         */         iDoc = new IndexDocumentStub(doc,delTerm,                 IndexAction.INSERT);        this.indexer.addDocument(iDoc);        iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.DELETE);        this.indexer.deleteDocument(iDoc);        this.indexer.commit(false);        s = new IndexSearcher(this.dir);        h = s.search(new TermQuery(delTerm));        assertEquals(0, h.length());        s.close();                                /*         * test insert / del / update without optimize         */         iDoc = new IndexDocumentStub(doc,delTerm,                 IndexAction.INSERT);        this.indexer.addDocument(iDoc);        iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.DELETE);        this.indexer.deleteDocument(iDoc);        iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.INSERT);       this.indexer.addDocument(iDoc);        this.indexer.commit(false);        s = new IndexSearcher(this.dir);        h = s.search(new TermQuery(delTerm));        assertEquals(1, h.length());        s.close();                                        /*         * test insert / update / del without optimize         */        iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.INSERT);        this.indexer.addDocument(iDoc);        iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.UPDATE);        this.indexer.updateDocument(iDoc);        iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.DELETE);        this.indexer.deleteDocument(iDoc);        this.indexer.commit(false);        s = new IndexSearcher(this.dir);        h = s.search(new TermQuery(delTerm));        assertEquals(0, h.length());        s.close();                                iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.UPDATE);        try{            this.indexer.deleteDocument(iDoc);            fail("document has not delete action ");        }catch (GdataIndexerException e) {                    }            }    /*     * Test method for     * 'org.apache.lucene.gdata.search.index.GDataIndexer.commit(boolean)'     */    public void testCommit() throws IOException {        String id = "myID";        Field f = new Field(FIELD_ID, id, Field.Store.YES,                Field.Index.UN_TOKENIZED);        Document doc = new Document();        doc.add(f);        Term delTerm =  new Term(FIELD_ID, id);        IndexDocument iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.INSERT);        this.indexer.addDocument(iDoc);         iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.UPDATE);        this.indexer.updateDocument(iDoc);        this.indexer.updateDocument(iDoc);        iDoc = new IndexDocumentStub(doc,delTerm,                IndexAction.DELETE);        this.indexer.deleteDocument(iDoc);        IndexEventListenerStub evListener = new IndexEventListenerStub();        this.indexer.registerIndexEventListener(evListener);        assertEquals(1,this.indexer.docsAdded.get());        assertEquals(1,this.indexer.docsDeleted.get());        assertEquals(2,this.indexer.docsUpdated.get());        assertEquals(0,evListener.getCalledCount());        this.indexer.commit(true);        this.indexer.commit(false);        assertEquals(1,evListener.getCalledCount());        assertEquals(0,this.indexer.docsAdded.get());        assertEquals(0,this.indexer.docsDeleted.get());        assertEquals(0,this.indexer.docsUpdated.get());        IndexSearcher s = new IndexSearcher(this.dir);        Hits h = s.search(new TermQuery(delTerm));        assertEquals(0, h.length());        s.close();    }    /*     * Test method for     * 'org.apache.lucene.gdata.search.index.GDataIndexer.registerIndexEventListener(IndexEventListener)'     */    public void testRegisterIndexEventListener() {        IndexEventListenerStub evListener = new IndexEventListenerStub();        this.indexer.registerIndexEventListener(evListener);        this.indexer.registerIndexEventListener(evListener);        assertEquals(0,evListener.getCalledCount());        this.indexer.notifyCommitListeners("someId");        this.indexer.notifyCommitListeners("someId");        assertEquals(2,evListener.getCalledCount());    }    /*     * Test method for     * 'org.apache.lucene.gdata.search.index.GDataIndexer.removeIndexEventListener(IndexEventListener)'     */    public void testRemoveIndexEventListener() {        IndexEventListenerStub evListener = new IndexEventListenerStub();        this.indexer.registerIndexEventListener(evListener);        assertEquals(0,evListener.getCalledCount());        this.indexer.notifyCommitListeners("someId");        assertEquals(1,evListener.getCalledCount());        this.indexer.removeIndexEventListener(evListener);        this.indexer.removeIndexEventListener(evListener);        this.indexer.notifyCommitListeners("someId");        assertEquals(1,evListener.getCalledCount());            }    /*     * Test method for     * 'org.apache.lucene.gdata.search.index.GDataIndexer.notifyCommitListeners(String)'     */    public void testNotifyCommitListeners() {        IndexEventListenerStub evListener = new IndexEventListenerStub();        IndexEventListenerStub evListener1 = new IndexEventListenerStub();        IndexEventListenerStub evListener2 = new IndexEventListenerStub();        this.indexer.registerIndexEventListener(evListener);        this.indexer.registerIndexEventListener(evListener1);        this.indexer.registerIndexEventListener(evListener2);        assertEquals(0,evListener.getCalledCount());        this.indexer.notifyCommitListeners("someId");        assertEquals(1,evListener.getCalledCount());        assertEquals(1,evListener1.getCalledCount());        assertEquals(1,evListener2.getCalledCount());        this.indexer.removeIndexEventListener(evListener);        this.indexer.notifyCommitListeners("someId");        assertEquals(1,evListener.getCalledCount());        assertEquals(2,evListener1.getCalledCount());        assertEquals(2,evListener2.getCalledCount());    }    /*     * Test method for     * 'org.apache.lucene.gdata.search.index.GDataIndexer.closeWriter()'     */    public void testCloseWriter() throws IOException{        assertNotNull(this.indexer.writer);        this.indexer.closeWriter();        assertNull(this.indexer.writer);    }    /*     * Test method for     * 'org.apache.lucene.gdata.search.index.GDataIndexer.closeSearcher()'     */    public void testCloseSearcher() throws IOException {        this.indexer.openSearcher();        assertNotNull(this.indexer.searcher);        this.indexer.closeSearcher();        assertNull(this.indexer.searcher);    }    /*     * Test method for     * 'org.apache.lucene.gdata.search.index.GDataIndexer.openSearcher()'     */    public void testOpenSearcher() throws IOException {        this.indexer.searcher = null;        this.indexer.openSearcher();         assertNotNull(this.indexer.searcher);    }    /*     * Test method for     * 'org.apache.lucene.gdata.search.index.GDataIndexer.openWriter()'     */    public void testOpenWriter() throws IOException {        this.indexer.closeWriter();        assertNull(this.indexer.writer);       this.indexer.openWriter();        assertNotNull(this.indexer.writer);    }    /*     * Test method for     * 'org.apache.lucene.gdata.search.index.GDataIndexer.destroy()'     */    public void testDestroy() throws InterruptedException, IOException {        this.indexer.destroy();        String id = "myID";        Field f = new Field(FIELD_ID, id, Field.Store.YES,                Field.Index.UN_TOKENIZED);        Document doc = new Document();        doc.add(f);        Term delTerm = new Term(FIELD_ID, id);        IndexDocument iDoc = new IndexDocumentStub(doc, delTerm,                IndexAction.INSERT);        Future<IndexDocument> future = new FutureStub<IndexDocument>(iDoc);        try{        this.indexer.addIndexableDocumentTask(future);        fail("indexer already closed exc. expected");        }catch (IllegalStateException e) {}        this.indexer = GDataIndexer.createGdataIndexer(config, dir, true);        CountDownLatch documentLatch = new CountDownLatch(1);        iDoc = new IndexDocumentStub(doc, delTerm,                IndexAction.INSERT,documentLatch);                CountDownLatch latch = new CountDownLatch(1);        future = new FutureStub<IndexDocument>(iDoc,latch,true);        this.indexer.addIndexableDocumentTask(future);        this.indexer.destroy();        latch.countDown();        documentLatch.await(5000,TimeUnit.MILLISECONDS);        // wait active for the commit        while(this.indexer.writer != null){}                IndexSearcher s = new IndexSearcher(this.dir);        Hits h = s.search(new TermQuery(delTerm));        assertEquals(1, h.length());        s.close();                    }        public void testInnerClassFuture() throws InterruptedException, ExecutionException, TimeoutException{        Future f = new GDataIndexer.FinishingFuture();        assertNull(f.get());        assertNull(f.get(0,TimeUnit.MICROSECONDS));        assertTrue(f.isDone());        assertFalse(f.isCancelled());        assertFalse(f.cancel(true));            }   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -