Java Lucene显示奇怪的未提交文档
我将一组文档提交到新创建的索引中,并提交/优化并关闭编写器。 当我在同一个虚拟机中打开并读取索引时,一切正常。 一旦我关闭虚拟机,重新启动并读取新应用程序实例中的索引,就会得到大量文档 当我通过luke检查索引时,我看到索引中的第一个文档已提交,但后面有很多文档只包含一个名为word的字段 搜索索引的工作正如预期的那样,但我对numDocs返回的大量数据感到好奇。顺便说一下:我正在使用最新的JavaLucene3.0.2 有什么想法吗 致以最良好的祝愿 亚历克斯 下面是一些代码示例:Java Lucene显示奇怪的未提交文档,java,lucene,Java,Lucene,我将一组文档提交到新创建的索引中,并提交/优化并关闭编写器。 当我在同一个虚拟机中打开并读取索引时,一切正常。 一旦我关闭虚拟机,重新启动并读取新应用程序实例中的索引,就会得到大量文档 当我通过luke检查索引时,我看到索引中的第一个文档已提交,但后面有很多文档只包含一个名为word的字段 搜索索引的工作正如预期的那样,但我对numDocs返回的大量数据感到好奇。顺便说一下:我正在使用最新的JavaLucene3.0.2 有什么想法吗 致以最良好的祝愿 亚历克斯 下面是一些代码示例: File
File indexDirectory = new File(...);
Directory directory = FSDirectory.open(indexDirectory);
IndexSearcher searcher = new IndexSearcher(directory, true);
// I also use a spellchecker, but this should not affect anything (I hope)
IndexReader reader = IndexReader.open(directory, true);
SpellChecker spellChecker = new SpellChecker(directory);
spellChecker.indexDictionary(new LuceneDictionary(reader, "headline"));
spellChecker.indexDictionary(new LuceneDictionary(reader, "intro"));
int numDocs = searcher.getIndexReader().numDocs();
int maxDoc = searcher.getIndexReader().maxDoc();
我会尝试强制代码为一个文档编制索引,提交并关闭编写器,然后与Luke一起检查索引。这可能会提示您word文档的来源。请发布一个包含索引代码的片段。这可能是您使用代码中的一个错误,或者是Lucene中的一个错误,但是需要更多的信息来决定是哪个错误。嗨,Yuval,很抱歉,我今天看到了您的评论。。。我刚刚编辑并添加了我的代码示例。