本文整理汇总了Java中org.apache.lucene.search.ReferenceManager.maybeRefresh方法的典型用法代码示例。如果您正苦于以下问题:Java ReferenceManager.maybeRefresh方法的具体用法?Java ReferenceManager.maybeRefresh怎么用?Java ReferenceManager.maybeRefresh使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.lucene.search.ReferenceManager
的用法示例。
在下文中一共展示了ReferenceManager.maybeRefresh方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testTryDeleteDocument
import org.apache.lucene.search.ReferenceManager; //导入方法依赖的package包/类
public void testTryDeleteDocument ()
throws IOException
{
Directory directory = createIndex();
IndexWriter writer = getWriter(directory);
ReferenceManager<IndexSearcher> mgr = new SearcherManager(writer,
true,
new SearcherFactory());
TrackingIndexWriter mgrWriter = new TrackingIndexWriter(writer);
IndexSearcher searcher = mgr.acquire();
TopDocs topDocs = searcher.search(new TermQuery(new Term("foo", "0")),
100);
assertEquals(1, topDocs.totalHits);
long result;
if (random().nextBoolean()) {
IndexReader r = DirectoryReader.open(writer, true);
result = mgrWriter.tryDeleteDocument(r, 0);
r.close();
} else {
result = mgrWriter.tryDeleteDocument(searcher.getIndexReader(), 0);
}
// The tryDeleteDocument should have succeeded:
assertTrue(result != -1);
assertTrue(writer.hasDeletions());
if (random().nextBoolean()) {
writer.commit();
}
assertTrue(writer.hasDeletions());
mgr.maybeRefresh();
searcher = mgr.acquire();
topDocs = searcher.search(new TermQuery(new Term("foo", "0")), 100);
assertEquals(0, topDocs.totalHits);
}
示例2: testDeleteDocuments
import org.apache.lucene.search.ReferenceManager; //导入方法依赖的package包/类
public void testDeleteDocuments ()
throws IOException
{
Directory directory = createIndex();
IndexWriter writer = getWriter(directory);
ReferenceManager<IndexSearcher> mgr = new SearcherManager(writer,
true,
new SearcherFactory());
IndexSearcher searcher = mgr.acquire();
TopDocs topDocs = searcher.search(new TermQuery(new Term("foo", "0")),
100);
assertEquals(1, topDocs.totalHits);
TrackingIndexWriter mgrWriter = new TrackingIndexWriter(writer);
long result = mgrWriter.deleteDocuments(new TermQuery(new Term("foo",
"0")));
assertEquals(1, result);
// writer.commit();
assertTrue(writer.hasDeletions());
mgr.maybeRefresh();
searcher = mgr.acquire();
topDocs = searcher.search(new TermQuery(new Term("foo", "0")), 100);
assertEquals(0, topDocs.totalHits);
}
示例3: testTryDeleteDocumentCloseAndReopen
import org.apache.lucene.search.ReferenceManager; //导入方法依赖的package包/类
public void testTryDeleteDocumentCloseAndReopen ()
throws IOException
{
Directory directory = createIndex();
IndexWriter writer = getWriter(directory);
ReferenceManager<IndexSearcher> mgr = new SearcherManager(writer,
true,
new SearcherFactory());
IndexSearcher searcher = mgr.acquire();
TopDocs topDocs = searcher.search(new TermQuery(new Term("foo", "0")),
100);
assertEquals(1, topDocs.totalHits);
TrackingIndexWriter mgrWriter = new TrackingIndexWriter(writer);
long result = mgrWriter.tryDeleteDocument(DirectoryReader.open(writer,
true), 0);
assertEquals(1, result);
writer.commit();
assertTrue(writer.hasDeletions());
mgr.maybeRefresh();
searcher = mgr.acquire();
topDocs = searcher.search(new TermQuery(new Term("foo", "0")), 100);
assertEquals(0, topDocs.totalHits);
writer.close();
searcher = new IndexSearcher(DirectoryReader.open(directory));
topDocs = searcher.search(new TermQuery(new Term("foo", "0")), 100);
assertEquals(0, topDocs.totalHits);
}