lucene学习之创建索引
2016-04-20 14:23
405 查看
1.创建indexWriter
Directory d = FSDirectory.open(Paths.get("D:/lucene/index"));
SmartChineseAnalyzer analyzer = new SmartChineseAnalyzer();
IndexWriterConfig iwc = new IndexWriterConfig(analyzer);
writer = new IndexWriter(d, iwc);
2.添加文档
for(int i=0;i<ids.length;i++){
Document doc = new Document();
doc.add(new StringField("city", citys[i], Field.Store.YES));
doc.add(new StringField("id", ids[i], Field.Store.YES));
doc.add(new TextField("desc",descs[i],Field.Store.YES));
writer.addDocument(doc);
}
这里的field可以加权,field.setBoost(1.5f)默认为1.0
3.一些更新和删除
writer.deleteAll();
writer.deleteDocuments(Term term);
writer.forceMergeDeletes();
writer.forceMerge(int maxNumSegments);
writer.updateDocument();
writer.commit();
Directory d = FSDirectory.open(Paths.get("D:/lucene/index"));
SmartChineseAnalyzer analyzer = new SmartChineseAnalyzer();
IndexWriterConfig iwc = new IndexWriterConfig(analyzer);
writer = new IndexWriter(d, iwc);
2.添加文档
for(int i=0;i<ids.length;i++){
Document doc = new Document();
doc.add(new StringField("city", citys[i], Field.Store.YES));
doc.add(new StringField("id", ids[i], Field.Store.YES));
doc.add(new TextField("desc",descs[i],Field.Store.YES));
writer.addDocument(doc);
}
这里的field可以加权,field.setBoost(1.5f)默认为1.0
3.一些更新和删除
writer.deleteAll();
writer.deleteDocuments(Term term);
writer.forceMergeDeletes();
writer.forceMerge(int maxNumSegments);
writer.updateDocument();
writer.commit();
相关文章推荐
- PostgreSQL教程(八):索引详解
- Oracle外键不加索引引起死锁示例
- oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .
- 用SQL建立索引的方法步骤
- SQL2005重新生成索引的的存储过程 sp_rebuild
- SQL效率提升之一些SQL编写建议并有效利用索引
- SQLSERVER的非聚集索引结构深度理解
- SQL Server误区30日谈 第8天 有关对索引进行在线操作的误区
- SQL Server 索引介绍
- SqlServer 索引自动优化工具
- mysql 中存在null和空时创建唯一索引的方法
- 详解sqlserver查询表索引
- 优化 SQL Server 索引的小技巧
- sqlserver 索引的一些总结
- MySQL下使用Inplace和Online方式创建索引的教程
- mysql中索引使用不当速度比没加索引还慢的测试
- Sql Server 查询性能优化之走出索引的误区分析
- sqlserver索引的原理及索引建立的注意事项小结
- 使用Sphinx对索引进行搜索
- 关于Sphinx创建全文检索的索引介绍