package com.zyb.solrQuery;
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexDeletionPolicy;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.LockObtainFailedException;
import org.apache.lucene.util.Version;
import org.apache.solr.core.SolrDeletionPolicy;
public class X {
public static void main(String[] args) throws Exception{
Analyzer a = new StandardAnalyzer(Version.LUCENE_CURRENT);
IndexDeletionPolicy commitDeletionPolicy = new SolrDeletionPolicy();
FSDirectory directory = FSDirectory.open(new File("c:\\"));
IndexWriterConfig config = new
IndexWriterConfig(Version.LUCENE_CURRENT,a);
config.setOpenMode(OpenMode.CREATE_OR_APPEND);
config.setIndexDeletionPolicy(commitDeletionPolicy);
IndexWriter writer = new IndexWriter(directory, config);
// -----------------
// 在索引库没有建立并且没有索引文件的时候首先要commit一下让他建立一个
// 索引库的版本信息
//writer.commit();
// -----------------
//如果第一次没有commit就打开一个索引读取器的话就会报异常
IndexReader reader = IndexReader.open(directory);
System.out.println(reader);
//Exception in thread "main" org.apache.lucene.index.IndexNotFoundException: no segments* file found in org.apache.lucene.store.SimpleFSDirectory@C:\ lockFactory=org.apache.lucene.store.NativeFSLockFactory@15a8767: files: [bootmgr, BOOTSECT.BAK, pagefile.sys, write.lock]
// at
// org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:711)
// at
// org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:75)
// at org.apache.lucene.index.IndexReader.open(IndexReader.java:428)
// at org.apache.lucene.index.IndexReader.open(IndexReader.java:274)
// at com.zyb.solrQuery.X.main(X.java:39)
}
}
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexDeletionPolicy;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.LockObtainFailedException;
import org.apache.lucene.util.Version;
import org.apache.solr.core.SolrDeletionPolicy;
public class X {
public static void main(String[] args) throws Exception{
Analyzer a = new StandardAnalyzer(Version.LUCENE_CURRENT);
IndexDeletionPolicy commitDeletionPolicy = new SolrDeletionPolicy();
FSDirectory directory = FSDirectory.open(new File("c:\\"));
IndexWriterConfig config = new
IndexWriterConfig(Version.LUCENE_CURRENT,a);
config.setOpenMode(OpenMode.CREATE_OR_APPEND);
config.setIndexDeletionPolicy(commitDeletionPolicy);
IndexWriter writer = new IndexWriter(directory, config);
// -----------------
// 在索引库没有建立并且没有索引文件的时候首先要commit一下让他建立一个
// 索引库的版本信息
//writer.commit();
// -----------------
//如果第一次没有commit就打开一个索引读取器的话就会报异常
IndexReader reader = IndexReader.open(directory);
System.out.println(reader);
//Exception in thread "main" org.apache.lucene.index.IndexNotFoundException: no segments* file found in org.apache.lucene.store.SimpleFSDirectory@C:\ lockFactory=org.apache.lucene.store.NativeFSLockFactory@15a8767: files: [bootmgr, BOOTSECT.BAK, pagefile.sys, write.lock]
// at
// org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:711)
// at
// org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:75)
// at org.apache.lucene.index.IndexReader.open(IndexReader.java:428)
// at org.apache.lucene.index.IndexReader.open(IndexReader.java:274)
// at com.zyb.solrQuery.X.main(X.java:39)
}
}