jjzjj

IndexReader

全部标签

java - Lucene热索引备份使用IndexReader代替IndexWriter/SnapshotDeletionPolicy

是否可以接受以下代码行来获取lucene索引或IndexWriter/SnapshotDeletionPolicy的热备份,如Luceneindexbackup中所述应该遵循什么?Directorydir=...;IndexReaderreader=IndexReader.open(dir);IndexCommitcommit=reader.getIndexCommit();CollectionfileNames=commit.getFileNames();//copythefilesreader.close();即使在锁定的索引上,您也可以在提交点上打开读取器,而写入器仍可能更改索引

lucene - 打开存储在 hdfs 中的 lucene 索引

如何读取存储在HDFS上的lucene索引目录,即如何为存储在HDFS上的索引获取IndexReader。IndexReader将在maptask中打开。类似于:IndexReaderreader=IndexReader.open("hdfs/path/to/index/directory");谢谢,阿基尔 最佳答案 如果您想打开一个存储在HDFS中的Lucene索引以进行搜索,那您可就倒霉了。AFAIK,没有实现允许搜索操作的HDFS目录。出现这种情况的原因之一是因为HDFS针对大块的顺序读取进行了优化,而不是Lucene产生的小

java - 查找 Lucene 索引中的文档数

使用Lucene的Java版本,您如何找出索引中的文档数? 最佳答案 IndexReader包含您需要的方法,特别是numDocshttp://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/index/IndexReader.html#numDocs() 关于java-查找Lucene索引中的文档数,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

java - Lucene 良好实践和线程安全

我正在使用lucene来索引文档并执行搜索,之后我会立即删除它们。所有这些都可以被认为是一个原子操作,包括以下步骤:index(writer)-->search(searcher)-->getdocsbyscore(reader)-->deletedocs(reader)此操作可以由多个并发线程在同一索引上执行(使用FSDirectory)。重要提示:每个线程处理一组单独的文档,因此一个线程不会触及另一个线程的文档为此我有几个问题:1)我应该使用IndexWriter、IndexReader和IndexSearcher的单个实例(对于所有线程)吗?(它们应该是线程安全的)2)Index