Lucene 是web搜索引擎,类似谷歌和百度。
使用Lucene创建一个索引步骤:
1.确定索引文件存放的目录。
String INDEX_PATH="/index";
2.构建一个写 索引器--IndexWriter。
IndexWriter writer =new IndexWriter(INDEX_PATH, new ChineseAnalyzer(),true);
3.构建包含多个field的document 文档。
Document doc = new Document();
doc.add( new Field("索引字段名称", "字符串", Field.Store.YES,Field. Index.TOKENIZED));
4.将文档写入索引。
writer.addDocument(doc);
5.关闭索引。
writer.close();
IndexWriter这个类用于创建一个新的索引,它提供对索引的写入操作。第一个参数用于指索引的存放位置;由于IndexWriter是要将Document写入索引,因此必然要对输入的数据源进行相应的处理,所以由第二个参数指明所用的分词器;第三个参数为true代表新增,false代表追加(默认为false).
Directory索引存放位置,常用的子类有FSDirectory、RAMDirectory;用于决定是把Lucene的索引文件保存在文件系统中还是在内存中
Analyzer分词器
boolean 值为true表示创建索引或覆盖已存在的索引,值为false表示追加已存在的索引
MaxFieldLength对每个Field限制建立分词索引的最大数目
Field存储方式:
Store.NO 不存储
Store.YES 存储
Store.COMPRESS 压缩存储
index:索引方式
Index.NO 不索引
Index.ANALYZED 分词索引
Index.UN_ANALYZED 不分词索引
Index.NO_NORMS 不分词索��,禁止参与评分,减少内存消耗
IndexWriter对象关闭前可使用indexWriter.optimize()对索引进行优化