全文检索为什么出错?
package common.test;
import org.apache.lucene.analysis.SimpleAnalyzer;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.search.Searcher;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Hits;
import org.apache.lucene.queryParser.QueryParser;
import java.io.File;
import java.io.InputStreamReader;
import java.io.FileInputStream;
public class FullTextSearcher {
private String indexPath = "c:/";
private String filePath = "e:/";
private String queryStr = "doc";
public static void main(String[] args) throws Exception{
new FullTextSearcher();
}
public FullTextSearcher() throws Exception{
IndexWriter writer= new IndexWriter(indexPath,new SimpleAnalyzer(),false);
File f = new File(filePath);
File[] fs = f.listFiles();
for(int i=0;i<fs.length;i++) {
Document doc = new Document();
doc.add(Field.UnIndexed("path",fs[i].getName()));
doc.add(Field.Text("content",new InputStreamReader(new FileInputStream(fs[i]))));
writer.addDocument(doc);
}
Searcher searcher = new IndexSearcher(indexPath);
Query query = QueryParser.parse(queryStr,"content",new SimpleAnalyzer());
Hits hits = searcher.search(query);
for(int i=0;i<hits.length();i++) {
System.out.println(hits.doc(i).getField("path") +"\t" + hits.doc(i).getField("content"));
}
}
}
报C:\j2sdk1.4.0_02\bin\javaw.exe -classpath D:\develop;C:\j2sdk1.4.0_02\jre\lib\charsets.jar;C:\j2sdk1.4.0_02\jre\lib\jaws.jar;C:\j2sdk1.4.0_02\jre\lib\jce.jar;C:\j2sdk1.4.0_02\jre\lib\jsse.jar;C:\j2sdk1.4.0_02\jre\lib\rt.jar;C:\j2sdk1.4.0_02\jre\lib\sunrsasign.jar;C:\j2sdk1.4.0_02\jre\lib\ext\dnsns.jar;C:\j2sdk1.4.0_02\jre\lib\ext\ldapsec.jar;C:\j2sdk1.4.0_02\jre\lib\ext\localedata.jar;C:\j2sdk1.4.0_02\jre\lib\ext\sunjce_provider.jar;D:\libs\xerces.jar;D:\libs\jdom-b3.jar;D:\libs\msbase.jar;D:\libs\mssqlserver.jar;D:\libs\msutil.jar;D:\libs\velocity-1.4.jar;D:\libs\servlet.jar;D:\libs\commons-digester.jar;D:\libs\commons-beanutils.jar;D:\libs\commons-collections.jar;D:\libs\commons-logging.jar;C:\Documents and Settings\Administrator\桌面\tiles\lucene-1.2\lucene-1.2.jar;C:\Documents and Settings\Administrator\桌面\tiles\lucene-1.2\lucene-demos-1.2.jar common.test.FullTextSearcher
java.io.IOException: Index locked for write: Lock@C:\write.lock
at org.apache.lucene.index.IndexWriter.<init>(Unknown Source)
at org.apache.lucene.index.IndexWriter.<init>(Unknown Source)
at common.test.FullTextSearcher.<init>(FullTextSearcher.java:28)
at common.test.FullTextSearcher.main(FullTextSearcher.java:24)
Exception in thread "main" Process terminated with exit code 1