LUCENE-第三课IndexWriter

1. 代码步骤:
// 创建使用的分词器
Analyzer analyzer = new IKAnalyzer4Lucene7(true);
// 索引配置对象
IndexWriterConfig config = new IndexWriterConfig( analyzer );
// 设置索引库的打开模式:新建、追加、新建或追加
config.setOpenMode(OpenMode.CREATE_OR_APPEND);
// 索引存放目录
// 存放到文件系统中
Directory directory = FSDirectory
.open((new File("f:/test/indextest")).toPath());
// 存放到内存中
// Directory directory = new RAMDirectory();
// 创建索引写对象
IndexWriter writer = new IndexWriter(directory, config);
// 创建document
Document doc = new Document();
// 往document中添加 商品id字段
doc.add(new StoredField("prodId", "p0001"));
// 往document中添加 商品名称字段
String name = "ThinkPad X1 Carbon 20KH0009CD/25CD 超极本轻薄笔记本电脑联想";

doc.add(new TextField("name", name, Store.YES));

2.IndexWriterConfig写索引配置:
使用的分词器,
如何打开索引(是新建,还是追加)。
还可配置缓冲区大小、或缓存多少个文档,再刷新到存储中。
还可配置合并、删除等的策略。
注意:用这个配置对象创建好IndexWriter对象后,再修改这个配置对象的配置
信息不会对IndexWriter对象起作用。
如要在indexWriter使用过程中修改它的配置信息,通过indexWriter的
getConfig()方法获得LiveIndexWriterConfig对象,在这个对象中可查看该
IndexWriter使用的配置信息,可进行少量的配置修改(看它的setter方法)

3. Directory 指定索引数据存放的位置
内存,文件系统,数据库
保 存 到 文 件 系 统 用 法 :

Directory directory = FSDirectory.open(Path path); // path 指 定 目

4. IndexWriter 索引更新 API

删除流程:根据Term、Query找到相关的文档id、同时删除索引信息,再根据文档id删除对应的文档存储。
更新流程:先删除、再加入新的doc

注意:只可根据索引的字段进行更新。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值