lucene修改索引——(六)
原理:
修改的原理是先删除,后增加一个,这也是常用的一种修改的方式。
删除的文档的id不会被新增加的文档占用,类似于mysql的自增,当删除一个id=2时,以后id=2就是空着的,不会上来一个把2给占用。再添加是往后面增加。
代码:
删除fileName 为 javaweb的索引,然后新增加一个索引,索引的term是fileN与fileC,值分别是"测试文件名"与"测试文件内容"。
原来的索引结构:
执行代码:
// public IndexWriter getIndexWriter() throws Exception{// 第一步:创建一个java工程,并导入jar包。// 第二步:创建一个indexwriter对象。Directory directory = FSDirectory.open(new File("E:\\lucene&solr\\index"));// Directory directory = new RAMDirectory();//保存索引到内存中 (内存索引库)Analyzer analyzer = new StandardAnalyzer();// 官方推荐IndexWriterConfig config = new IndexWriterConfig(Version.LATEST, analyzer);return new IndexWriter(directory, config);}
//修改 @Testpublic void testUpdate() throws Exception {IndexWriter indexWriter = getIndexWriter();Document doc = new Document();doc.add(new TextField("fileN", "测试文件名",Store.YES));doc.add(new TextField("fileC", "测试文件内容",Store.YES));indexWriter.updateDocument(new Term("fileName","javaweb"), doc, new IKAnalyzer());indexWriter.close();}
执行后的结构:
八个文档,原来有十个,删除三个增加一个变为8个。
查看文档结构:(删除后其文档ID仍然保留着,因此是是一个)
lucene修改索引——(六)相关推荐
- Lucene学习总结之三:Lucene的索引文件格式(1)
Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙. 当我们真正进入到Lucene源代码之中的时候,我们会发现: Lucene的索引过程, ...
- lucene索引_在崩溃或断电后测试Lucene的索引耐久性
lucene索引 Lucene有用的事务功能之一是索引持久性 ,它可以确保一旦成功调用IndexWriter.commit ,即使操作系统或JVM崩溃或断电,或者您杀死-KILL JVM进程,重启后索 ...
- 在崩溃或断电后测试Lucene的索引耐久性
Lucene有用的事务功能之一是索引持久性 ,它可以确保一旦成功调用IndexWriter.commit ,即使操作系统或JVM崩溃或断电,或者您杀死-KILL JVM进程,重启后索引也将保持完整(未 ...
- Lucene 的索引文件锁原理
Lucene 的索引文件锁原理 2016/11/24 · IT技术 · lucene 环境 Lucene 6.0.0 Java "1.8.0_111" OS Windows 7 U ...
- oracle 修索引改空间_oracle 修改索引现有表空间
工作日记之<修改索引现有表空间> //dba_indexes可查询所有索引,以及索引部分信息,可以灵活运用于其他用途 //假设用户USER1现有表空间TS1.TS2,需要迁移其下所有表空间 ...
- Lucene构建索引的原理及源代码分析
文章目录 1. Lucene是什么 2. 全文检索是什么 3. 术语 4. 创建索引过程 4.1 Lucene创建索引示例代码 4.2 分词的过程 4.2.1 原理 4.2.2 源代码 4.3 建索引 ...
- Lucene.Net---1索引的建立
转载地址:http://blog.csdn.net/xuezhongsong/article/details/4388241 在建立索引前,先了解下lucene中的一些与索引相关的重要类. 为了对文档 ...
- 【示例】Lucene查询索引库编程步骤
Lucene查询索引库编程步骤
- 【示例】Lucene创建索引库编程步骤
[示例]Lucene创建索引库编程步骤
最新文章
- 基于傅里叶变换的音频重采样算法 (附完整c代码)
- 机器学习算法加强——回归实践
- scheduled每天下午1点执行一次_在Spring Boot项目中使用@Scheduled注解实现定时任务...
- git bash解决中文乱码问题
- Git添加和克隆远程库
- 学位论文检测系统的说明与修改
- 接口自动化测试平台-用例设计的思考
- 系统学习 TypeScript(二)——开发流程和语法规则
- python中定义的类的方法调用老出现missing 1 postional argument 或者self的解决办法
- 前端 linux ps,Linux ps命令
- linux如何秀爱swap大小,老毛桃PE启动U盘集合CDlinux,BT5可保存设置,wifislax,sliatz中文定制版的方法[存档......
- docker 中 NGINX+PHP+MYSQL+REDIS+Elasticsearch 环境搭建 (windows系统)
- python分析html文件_如何用Python解析HTML?
- python mmap_python标准库基础之mmap:内存映射文件
- UCF-101视频数据分类资源
- mac电脑怎么配置adb环境变量
- 爆销产品标题怎么写_抖音爆火标题文案模板
- Py正则表达式学习笔记:常用函数——单词检索、索引方法
- Windows IIS SqlServer .Net/Asp.NET
- SQL注入漏洞[OWASP TOP 1]