【发布时间】:2011-01-21 01:49:46
【问题描述】:
我正在做一个项目,我想通过读取 Lucene 索引并对其进行修剪来构建标签云。我没有设置Lucene引擎,是团队中的其他人,现在我只想阅读它的索引。你是如何用 Java 做到这一点的?
【问题讨论】:
我正在做一个项目,我想通过读取 Lucene 索引并对其进行修剪来构建标签云。我没有设置Lucene引擎,是团队中的其他人,现在我只想阅读它的索引。你是如何用 Java 做到这一点的?
【问题讨论】:
【讨论】:
IndexSearch:IndexSearcher indexSearcher = new IndexSearcher(DirectoryReader.open(FSDirectory.open(new File(pathToIndex)))); IndexSearcher 也有一个接受ExecutorService 的构造函数,您应该查看用于并行搜索不同段的构造函数。
你这样做 -
IndexReader r = IndexReader.open( "prdb_index");
int num = r.numDocs();
for ( int i = 0; i < num; i++)
{
if ( ! r.isDeleted( i))
{
Document d = r.document( i);
System.out.println( "d=" +d);
}
}
r.close();
【讨论】:
您需要寻找的是如何使用 IndexReader 类,.terms() 方法将返回索引中的所有术语。
【讨论】:
这样做:
File indexDirectory = new File("YourIndexLocation");
IndexReader reader = IndexReader.open(FSDirectory.open(indexDirectory));
return reader.maxDoc(); //return total docs in index
【讨论】: