原理:

  修改的原理是先删除,后增加一个,这也是常用的一种修改的方式。

  删除的文档的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修改索引——(六)相关推荐

  1. Lucene学习总结之三:Lucene的索引文件格式(1)

    Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙. 当我们真正进入到Lucene源代码之中的时候,我们会发现: Lucene的索引过程, ...

  2. lucene索引_在崩溃或断电后测试Lucene的索引耐久性

    lucene索引 Lucene有用的事务功能之一是索引持久性 ,它可以确保一旦成功调用IndexWriter.commit ,即使操作系统或JVM崩溃或断电,或者您杀死-KILL JVM进程,重启后索 ...

  3. 在崩溃或断电后测试Lucene的索引耐久性

    Lucene有用的事务功能之一是索引持久性 ,它可以确保一旦成功调用IndexWriter.commit ,即使操作系统或JVM崩溃或断电,或者您杀死-KILL JVM进程,重启后索引也将保持完整(未 ...

  4. Lucene 的索引文件锁原理

    Lucene 的索引文件锁原理 2016/11/24 · IT技术 · lucene 环境 Lucene 6.0.0 Java "1.8.0_111" OS Windows 7 U ...

  5. oracle 修索引改空间_oracle 修改索引现有表空间

    工作日记之<修改索引现有表空间> //dba_indexes可查询所有索引,以及索引部分信息,可以灵活运用于其他用途 //假设用户USER1现有表空间TS1.TS2,需要迁移其下所有表空间 ...

  6. Lucene构建索引的原理及源代码分析

    文章目录 1. Lucene是什么 2. 全文检索是什么 3. 术语 4. 创建索引过程 4.1 Lucene创建索引示例代码 4.2 分词的过程 4.2.1 原理 4.2.2 源代码 4.3 建索引 ...

  7. Lucene.Net---1索引的建立

    转载地址:http://blog.csdn.net/xuezhongsong/article/details/4388241 在建立索引前,先了解下lucene中的一些与索引相关的重要类. 为了对文档 ...

  8. 【示例】Lucene查询索引库编程步骤

    Lucene查询索引库编程步骤

  9. 【示例】Lucene创建索引库编程步骤

    [示例]Lucene创建索引库编程步骤

最新文章

  1. 基于傅里叶变换的音频重采样算法 (附完整c代码)
  2. 机器学习算法加强——回归实践
  3. scheduled每天下午1点执行一次_在Spring Boot项目中使用@Scheduled注解实现定时任务...
  4. git bash解决中文乱码问题
  5. Git添加和克隆远程库
  6. 学位论文检测系统的说明与修改
  7. 接口自动化测试平台-用例设计的思考
  8. 系统学习 TypeScript(二)——开发流程和语法规则
  9. python中定义的类的方法调用老出现missing 1 postional argument 或者self的解决办法
  10. 前端 linux ps,Linux ps命令
  11. linux如何秀爱swap大小,老毛桃PE启动U盘集合CDlinux,BT5可保存设置,wifislax,sliatz中文定制版的方法[存档......
  12. docker 中 NGINX+PHP+MYSQL+REDIS+Elasticsearch 环境搭建 (windows系统)
  13. python分析html文件_如何用Python解析HTML?
  14. python mmap_python标准库基础之mmap:内存映射文件
  15. UCF-101视频数据分类资源
  16. mac电脑怎么配置adb环境变量
  17. 爆销产品标题怎么写_抖音爆火标题文案模板
  18. Py正则表达式学习笔记:常用函数——单词检索、索引方法
  19. Windows IIS SqlServer .Net/Asp.NET
  20. SQL注入漏洞[OWASP TOP 1]

热门文章

  1. spring26-2: bean的作用域
  2. Reflection
  3. Activiti学习——Activiti与Spring集成
  4. Nginx实用指南V1 (连载之四:流行CMS博客rewrite写法)
  5. 高效编程之互斥锁和自旋锁
  6. 把别人的Tcl/Tk代码加入到Go语言里12 游戏5 画图案?
  7. win 7 系统激活工具
  8. python 三角形的三个边长a,b,c ,求三角形的面积?
  9. OpenCV 绘制几何图形
  10. PHP7天前的时间戳