lucene 索引出错 no segments* file found in org.apache.lucene.store.MMapDirectory
生活随笔
收集整理的這篇文章主要介紹了
lucene 索引出错 no segments* file found in org.apache.lucene.store.MMapDirectory
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建第一個lucene索引后,搜索出錯:
org.apache.lucene.index.IndexNotFoundException: no segments* file found in org.apache.lucene.store.MMapDirectory@H:\lucene lockFactory=org.apache.lucene.store.NativeFSLockFactory@487c9b46: files: [write.lock, _0.fdt, _0.fdx]
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:712)at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:75)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:462)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:308)
at lucene.Searcher.search(Searcher.java:26)
at lucene.Searcher.main(Searcher.java:49)
原因:
indexer創建完索引后沒有關閉(提交)導致索引沒有完整創建,導致搜索報錯
注意如下說明:(index.close())
public static void main(String[] args) {long start = System.currentTimeMillis();Indexer indexer = null;int numIndexed = 0;try {indexer = new Indexer(indexDir);numIndexed = indexer.index(dataDir, new TextFilesFilter());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {//IndexerWriter寫索引操作關閉,提交寫索引(如沒關閉會造成索引無法完整創建,查詢時出錯)indexer.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}long end = System.currentTimeMillis();System.out.println("\n Indexing " + numIndexed + " files took "+ (end - start) + "milliseconds");}
總結
以上是生活随笔為你收集整理的lucene 索引出错 no segments* file found in org.apache.lucene.store.MMapDirectory的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一章:初识lucene
- 下一篇: solr4.8单机部署(solr4.8+