使用Lucene.Net面对慢搜索性能(+ NHibernate.Search但无关紧要)。
Luke工具箱概述:
索引目录大约200Mb。
查询(使用org.apache.lucene.analysis.SimpleAnalyzer)
标题:lapsa~0.5摘要:lapsa~0.5含量:lapsa~0.5位置:lapsa~0.5作者:lapsa~0.5
平均需要约60000毫秒。
我怀疑我错过了一些重要的东西。有什么想法有什么不对吗?不能这是正常的。
试图“检查”并“修复”它们。不得不勾选Don't open IndexReader (when opening corrupted index)
,否则Check index tool
不想出现。
检查结果:
BAD:missingSegments
诊断输出:
错误:无法读取目录中的任何段文件 java.io.FileNotFoundException:在org.apache.lucene.store.FSDirectory@D中找不到segments *文件:\ Temp \ Index:files: 在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) at org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:340) 在org.apache.lucene.index.CheckIndex.checkIndex(CheckIndex.java:319) 在org.getopt.luke.Luke $ 6.run(未知来源)
试图按Fix Index
。得到了这个:
修复索引期间的错误: 显示java.lang.NullPointerException at org.apache.lucene.index.CheckIndex.fixIndex(CheckIndex.java:781) 在org.getopt.luke.Luke $ 7.run(未知来源)
答案 0 :(得分:3)
听起来像你有一个损坏的索引。 D:\ Temp \ Index文件夹中是否有任何文件?我认为必须有或搜索根本不起作用...您使用的是什么版本的Lucene.Net?早期的版本曾经用来破坏我的索引,但在这方面,后来的版本似乎要好得多。
如果你无法搞清楚,你可能只需要从头开始重建索引。
答案 1 :(得分:0)
在Luke中,转到“工具”菜单,然后选择“检查索引工具”。查看您的索引是否已损坏或是否存在其他问题。
答案 2 :(得分:0)
This一个人帮助了我。切换自动优化。