建立索引
package dsa;
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.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.Field.Index;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;
public class Test {
public static void main(String[] args) throws Exception {
String [] ids={"1","2","3"};
String [] names={"zhangsan","lisi","wangwu"};
String [] address={"beijing","shanghai","hebei"};
Analyzer analyzer=new StandardAnalyzer(Version.LUCENE_20);
String indexDir ="d://haha";
File file=new File(indexDir);
Directory directory=FSDirectory.open(file);
IndexWriter writer=new IndexWriter(directory, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
for (int i = 0; i < ids.length; i++) {
Document document=new Document();
document.add(new Field("id", ids[i], Field.Store.YES , Index.ANALYZED));
document.add(new Field("names", names[i], Field.Store.YES , Index.NO));
document.add(new Field("address", address[i], Field.Store.YES , Index.ANALYZED));
writer.addDocument(document);
}
writer.optimize();
writer.close();
}
}
测试删除某条索引
package dsa;
import java.io.File;
import java.io.IOException;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
public class DeleteTest {
public static void main(String[] args) throws Exception {
String indexDir ="d://haha";
Directory directory=FSDirectory.open(new File(indexDir));
IndexReader reader=IndexReader.open(directory);
System.out.println(reader.maxDoc());//查看当前document最大序号
//reader.deleteDocument(0);//根据序号删除 没有删除权限???
System.out.println(reader.maxDoc());
// System.out.println(reader.deleteDocuments(new Term("id", "2")));没有删除权限???
System.out.println(reader.numDocs());
reader.close();
directory.close();
}
}