Lucene 优化

WPF MVVM实战:构建可绑定的RichTextBox富文本编辑器 本文详细介绍了如何在WPF MVVM模式下构建可绑定的RichTextBox富文本编辑器,解决标准RichTextBox.Document属性不支持数据绑定的问题。通过创建自定义BindableRichTextBox控件,实现FlowDocument的绑定支持,并分享插入图片、文本格式控制等实战技巧,帮助开发者高效开发富文本编辑功能。 阅读详情

来自:http://hi.baidu.com/iseeyou100/item/d0e328eb0931ae01585dd838

Lucene 会为每一次addDocument(document) 是在索引库目录下新增一个文件".cfs"后缀的文件。

   这意味我们的程序将便对越来越多的文件(但是默认情况下,最多也不会超过10个,当文件达到10个的时候,lucene 会将它们合并为一个大的文件)。意味着 IO 流的打开和关闭也将越来越多。这对效率的影响是比较大的。

   方式是调用 IndexWriter 的 IndexWriter.optimize() 或 indexWriter.setMergeFactor(int)

  IndexWriter.optimize() 被调用后,lucene 会立即将索引库目录下所有 ".cfs" 后缀的文件合并为一个大的文件。但是它的数据是不会改变的。

  indexWriter.setMergeFactor(int) 接收一个整型参数表示当 ".cfs" 文件达到多少数量时就自动合并。


1、调用commit方法,会生成一个.cfs文件,调用一次生成一个。
2、单独调用optimize()方法,会额外生成一个合并了多个.cfs文件的大.cfs文件,此时如果不close(),则索引文件大小翻倍。单独close()方法无效。
3、添加文档后,手动GC一次,内存释放快。
4、设置合并因子,根据.cfs文件个数合并。
5、添加一次document则消耗一定内存,然后释放,内存回升。
6、不进行提交操作,内存逐渐增长,若进行提交且内存占用多,则一次性回升大,然后降低至最低。
7、暂时未发现改变内存缓冲大小setRAMBufferSizeMB对索引性能的影响。
8、如果合并索引文件,则剩余的碎片会在commit或者是close之后自动删除。
9、合并式的索引效率没有提交式的索引效率高。
10、加载索引,首先读入段信息,然后看一下有几个段:如果只有一个,那么可能是优化过的,直接读取这一个段就可以;否则需要一次读入各个段,然后再拼成一个MultiReader。
11、增强索引的实时性,利用内存索引存放document一段时间,然后写入磁盘索引。搜索的时候提供内存跟磁盘索引多级目录。合并的时候,需要创建第三个索引,用于存放新增加的document,搜索时需要遍历这三个索引。
12、分布式的处理, 需要将相应的类,按照同样的路径打包,否则出现问题。
13、分布式的注册类,实现UnicastRemoteObject类后就不需要专门生成RMI类。
14、采用多线程,对每一个线程都有一个对应的文档集处理对象,因此可以并行的进行索引,虽然对文档的处理过程可以并行,但是将文档写入索引文件却必须串行进行。
15、setMergeFactor设置lucene的合并参数,可以由setMaxMergeDocs来控制一个.cfs文件里面的document个数,如果超过了,则合并因子失效了。
16、所谓的优化就是对整个目录内未合并的segment进行的合并。同设置合并因子之后的合并。


一文速览:大模型语料构建与基础训练全流程实战指南 因为模型只有看到足够丰富、高质量的数据,才能真正学到“真本事”,展现出更强大的泛化能力,也就是能够在全新的场景和任务下,做出准确的推理和判断。我们日常做饭的时候,通常会先把买回来的菜仔细清洗干净,把坏掉的叶子、泥土、杂质等去除掉。同理,训练大模型的数据就像我们的食材,如果不干净,就会影响模型的学习效果,甚至训练出逻辑紊乱的模型。在大模型的世界里,有一句名言:“Garbage in, Garbage out”,翻译过来就是“垃圾输入,垃圾输出”,说白了,就是给模型喂的是什么数据,它学到的就是什么知识。 阅读详情

相关推荐

STM32CUBEMX 使用教程5 — DMA配置 & 串口结合DMA实现数据搬运

DMA(Direct Memory Access),直接存储器访问(或数据搬运),是STM32中很实用的一个外设。DMA 传输数据方式不需要 CPU 参与控制传输,也不用中断处理的方式进行数据搬运处理,纯粹通过硬件为 RAM 与 I/O 设备之间开辟一条直接传送数据的通路,使 CPU 的效率大大提高。

weixin_43866583的博客 1499

Lucene 7.5.0 索引文件之cfs&&cfe

索引文件.cfs、.cfe被称为复合(compound)索引文件,在IndexWriterConfig可以配置是否生成复合索引文件,默认开启。   在前面的文章中,我们介绍了其他的索引文件,而复合索引文件则是将这些索引文件的数据组合到一个文件中,这种设计的目的是为了减少文件描述符的使用。   正如上文中描述的那样,复合文件实质是索引文件的组合,意思是无论是否设置了使用复合文件,总是先生成非复合...

q364367207的专栏 2439

Nexus7二代刷机教程(新手向)

该教程将使用lineageos(Android 11),同时借鉴了lineage官方的教程和songelf的教程。

2403_84391487的博客 5214

Lucene 打开cfs文件 并获取数据

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34248023的博客 774

【零基础】手把手教你使用Docker部署Springboot项目(详细版)

还不会使用Docker部署Springboot项目的小伙伴,不妨进来看看呗,希望文中内容对你有所帮助!

fengprogrammer的博客 2万+

BurpSuite+安卓模拟器双保险:避开真机抓包限制的完整配置指南

本文详细介绍了如何通过BurpSuite与安卓模拟器(如雷电、夜神)协同工作,绕过真机抓包限制的完整配置指南。从环境准备、网络拓扑配置到证书部署和流量分析,提供了一套高效的解决方案,帮助安全测试人员稳定捕获手机数据包,提升测试效率。

Apple的专栏 439

各种文件后缀名对应content-type

## 各种文件后缀名对应content-type { “123”: “application/vnd.lotus-1-2-3”, “3dml”: “text/vnd.in3d.3dml”, “3ds”: “image/x-3ds”, “3g2”: “video/3gpp2”, “3gp”: “video/3gpp”, “7z”: “application/x-7z-compressed”, “aab”: “application/x-authorware-bin”, “aac”: “audio/x-aa.

duan_lili的博客 7806

Linux存储软件栈剖析之第5篇:F2FS文件系统

F2FS是三星专为NAND闪存设计的开源文件系统,通过异地更新、磨损均衡等机制优化闪存特性。其架构采用层次化存储管理(Block→Segment→Section→Zone)和多日志区域设计,基于数据热度分类(热/温/冷数据)提升性能。核心创新包括节点地址表(NAT)解决级联更新问题,以及基于成本的垃圾回收算法。F2FS通过检查点机制确保崩溃一致性,并利用并行访问能力充分发挥闪存性能优势,显著降低写放大效应,延长设备寿命。

指尖动听知识库 199

Lucene随笔-Lucene的索引文件格式

Lucene 6.5.1 建立一个Lucene示例 数据写入 public class Writer { private static final String PATH = ""; public static void main(String[] args) throws Exception { String doc1 = "hello world"; ...

u011926899的专栏 633

yolov5改进之Fasternet主干网络替换

fasternet替换yolov5主干网络

qq_41920323的博客 5144

BART non-Cartesian 重建:并行成像 压缩感知

本文主要使用并行成像和压缩感知方法实现non-Cartesian MRI 数据的重建。

张哥频道:电生理信号和磁共振成像 1182

lucene优化

1·关闭复合文件格式        调用setUseCompoundFile(false)可以关闭复合文件选项。生成复合文件将消耗更多的时间 2·优化索引其实就是将多个索引文件合并成单个文件的过程,为了减少索引文件的数量级,能在搜索时减少读取索引文件的时间进行的操作。 3·优化索引的最佳时机是在索引过程结束后,当确认在此一段时间不会对索引文件进行更改的时候,在索引过程中优化索引只会是优化操作

july_2的专栏 569

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Lucene索引存储的优化

一、索引优化技巧 1.索引的合并 writer.addindexes(new Directory()[]{}); 将索引对象添加进去 思路: 使用RAMDirectory,提高索引效率。 RAMDirectory ramdir= new RAMDirectory(); IndexWriter ramWriter= new IndexWriter(ramdir,iwc); D

分享,卓越 1795

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Lucene查询优化

Lucene查询优化

robbinBlog 802

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Lucene索引库的简单优化

Lucene索引库的简单优化 根据实际情况对索引库进行优化,可以提升创建索引和搜索的速度。   1、合并索引库片段文件   IndexWriter的optimize()方法已经过时,因为这个方法的效率很低。合并文件主要是使用IndexWriter的setMergeFactor(int)方法,但是在Lucene3.6版本中,该方法已过时,直接使用LogMergePolicy

不了了之专栏 1156

3、学习lucene之索引的更新和优化

上一篇里简单介绍了lucene中索引的删除等操作,本篇将简单介绍索引的更新和优化。其实,在lucene中并没有像数据库中的更新似的操作,lucene的索引更新其实是先把对应的索引删除,然后加入新的索引;至于索引的优化问题,我记得在3.0之前的时候用的是IndexWriter的optimize()方法,但到了3.0之后本方法就过时了,提供了新的优化方法。 一、索引的更新 啥也不说了,直接上代码。

代码空间,程序家园 3145

Lucene使用与优化

1.1 什么是luceneLucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。1.2 lucene能做什么要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告诉你你要搜索的关

sherman_xiaoyang的专栏 487

Lucene性能优化

 9 性能优化一直到这里,我们还是在讨论怎么样使lucene跑起来,完成指定任务。利用前面说的也确实能完成大部分功能。但是测试表明 lucene的性能并不是很好,在大数据量大并发的条件下甚至会有半分钟返回的情况。另外大数据量的数据初始化建立索引也是一个十分耗时的过程。那么如何提高lucene的性能呢?下面从优化创建索引性能和优化搜索性能两方面介绍。9.1 优化创建索引性能这方面的优

danyajuan的专栏 3114

lucene索引库优化一

lucene在3.6版本后提供了索引库的自动优化,但是面临一些大量数据的时候,还是需要手动优化的,一般情况下,不建议手动优化,手动优化十分损耗资源       优化策略一:主要是通过设置IndexWriterConfig对象的一些参数以达到优化的目的: IndexWriterConfig writerConfig=new IndexWriterConfig(Version.LUCE

乄浅醉的专栏 735

lucene使用与优化

1 lucene简介1.1 什么是luceneLucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。1.2 lucene能做什么要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告

阿福的专栏 2158

lucene搜索优化

 最近一直在做lucene搜索模块,遇到搜索慢,网上收集一些关于优化的文章总结如下:1、对于按创建时间的排序可以使用doc.id的方式       new SortField(null, SortField.DOC, reverse)排序方式尽量使用INT类型的字段      也就是按照写入索引的顺序排序 2、对于时间字符串的排序可以转换成整数进行排序 3、去掉不必要的parse     使用

每天=生命的最后一天 3778

Lucene 索引库的优化

package cn.itcast.lucene0909.optimize; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriter.MaxFieldLength; import org.junit.Test; import cn.itcast.lucene09

liuqiang211的专栏 762

Lucene入门之索引的建立和优化

索引的建立和优化索引的建立   对不同的文本使用不同的分析器     普通情况下,建立索引器,并向索引器添加文档的语句如下:     IndexWriter writer=new IndexWriter(indexPath,new StandardAnalyzer());     Writer.addDoc

snowteng17的专栏 4477

lucene、lucene.NET详细使用与优化详解

1 lucene简介1.1 什么是luceneLucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。1.2 lucene能做什么要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文

Zfrong繁荣的IT技术、IT项目、解决方案专栏Blog-上海 3407

【Lucene】索引库的优化

什么是索引库? 索引库是Lucene的重要的存储结构,它包括二部份:原始记录表,词汇表  原始记录表:存放的是原始记录信息,Lucene为存入的内容分配一个唯一的编号  词汇表:存放的是经过分词器拆分出来的词汇和该词汇在原始记录表中的编号 为什么要将索引库进行优化? 在默认情况下,向索引库中增加一个Document对象时,索引库自动会添加一个扩展名叫*.cfs的二进制压缩

Evan_QB的博客 363
上一篇: jQuery中常用的函数方法总结(arvin推荐)
下一篇: 复合索引文件格式cfs
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值