Performance 缓慢的Lucene.Net搜索性能
使用Lucene.Net(+NHibernate.search,但这并不重要)面临搜索性能缓慢的问题 工具箱概述:Performance 缓慢的Lucene.Net搜索性能,performance,lucene.net,Performance,Lucene.net,使用Lucene.Net(+NHibernate.search,但这并不重要)面临搜索性能缓慢的问题 工具箱概述: 字段数:33 文件数目:5607 条款数目:101377 是否有删除?/优化?:是(97478)/否 索引目录大约有200Mb大 查询(使用org.apache.lucene.analysis.SimpleAnalyzer) 标题:lapsa~0.5摘要:lapsa~0.5内容:lapsa~0.5位置:lapsa~0.5作者:lapsa~0.5 平均需要约60000毫秒 我想
- 字段数:33
- 文件数目:5607
- 条款数目:101377
- 是否有删除?/优化?:是(97478)/否
我想我错过了一些重要的事情。你知道怎么了吗?这不可能是正常的
试图“检查”和“修复”它们。必须勾选
不要打开IndexReader(打开损坏的索引时)
,否则检查索引工具
不想显示
检查结果:
坏:丢失段
诊断输出:
错误:无法读取目录中的任何段文件
java.io.FileNotFoundException:在org.apache.lucene.store中找不到segments*文件。FSDirectory@D:\Temp\Index:文件:
在org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:655)
在org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:538)
位于org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:306)
位于org.apache.lucene.index.CheckIndex.CheckIndex(CheckIndex.java:340)
位于org.apache.lucene.index.CheckIndex.CheckIndex(CheckIndex.java:319)
在org.getopt.luke.luke$6.run(未知来源)
尝试按修复索引
。得到这个:
修复索引期间出错:
java.lang.NullPointerException
位于org.apache.lucene.index.CheckIndex.fixIndex(CheckIndex.java:781)
在org.getopt.luke.luke$7.run(未知来源)
在“工具”菜单中,选择“检查索引工具”。查看您的索引是否已损坏或存在其他问题。听起来您的索引已损坏。您的D:\Temp\Index文件夹中是否有任何文件?我想一定有,否则搜索根本不起作用。。。你使用的是什么版本的Lucene.Net?对于我来说,早期的版本常常会立即破坏索引,但后来的版本在这方面似乎要好得多
如果你想不出来,你可能需要从头开始重建索引。有人帮了我。已打开自动优化。您是否尝试过优化?看起来你有很多待删除的内容…@codeka当我按
luke->tools->optimizeindex
时,它说“失败:没有索引,或者索引已关闭”。重新打开它。”重新打开也没用。它说有缺失的片段。Wtf?