向索引添加文档

来源:互联网 发布:国外域名 备案 编辑:程序博客网 时间:2024/05/18 03:48
package indexwriter;


import java.io.Writer;


import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;


public class IndexWriterTest {
//添加Document的两种方法
//public void addDocument(Document doc);
//public void addDocument(Document doc, Analyzer analyzer);

//将构建好的Document加入到索引中
Document bookdoc = new Document();
Field bookNo = new Field("booknumber", "FB309663004", Field.Store.YES, Field.Index.UN_TOKENIZED);

Field bookName = new Field("bookName","钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);

Field author = new Field("author", "匿 名", Field.Store.YES, Field.Index.UN_TOKENIZED);

Field publishdate = new Field("publishdate", "1970-01-01", Field.Store.YES, Field.Index.NO);

Field bookabstract = new Field("abstract", "钢铁是怎样炼成的, 这部小说非常不错, 是苏联的小说", Field.Store.NO, Field.Index.TOKENIZED);

Field price = new Field("price", "25.00", Field.Store.YES, Field.Index.NO);

bookdoc.add(bookNo);
bookdoc.add(bookName);
bookdoc.add(author);
bookdoc.add(publishdate);
bookdoc.add(bookabstract);
bookdoc.add(price);

//构建一个IndexWriter的实例
IndexWriter writer = new IndexWriter(INDEX_STORE_PATH, new StandardAnalyzer(), true);

//向索引中加入为图书馆的书构建的Document对象
writer.addDocument(bookdoc);


//限制每个Field中的词条的数量

public void setMaxFieldLength(int manxFieldLength)
{
writer.addDocument(doc1);
writer.setMaxFieldLength(100000);
writer.addDocument(doc2);

}


}
0 0
原创粉丝点击