1.不会动您就别瞎动,确实是我的问题您再动,不然越动越乱。
2.请及时更新至我的最新版本。(注:我不确定3.0.X版本之间索引是否兼容,应该是兼容的)
3.在本机磁盘建索引,别用网络磁盘挂载,你要是非得网络挂载也没辙,最好用只读(ReadOnly)方式挂载,还能稍微好点。(注:在本机磁盘建索引效率高,这点我们已经实践过了)
4.固态硬盘寻道时间比传统硬盘快100倍什么什么很好很无敌等等。(注:不用翻译了,真买不起这玩意儿)
5.调整操作系统,在linux中交换分区设置过大可能会影响查询效率,可以设置小一点。(注:最后没办法时,我们可能才会考虑研究这个)
6.多线程共用一个IndexReader对象时,以只读(ReadOnly)方式打开,效果会很明显。(注:现在3.X版本打开IndexReader,默认就是ReadOnly的)
7.在非windows平台上,使用NIOFSDirectory而不是FSDirectory,在windows平台上NIO一直有BUG。
8.加内存条,加大JVM内存上限。
9.IndexSearcher单例化。(注:我们将IndexReader单例化,效果也很明显)
10.首次查询会有初始化缓存的过程,所以第一次查询慢是正常的。(注:这跟性能调优好像没什么关系)
11.IndexSearcher进行reopen操作要消耗系统资源,不这么干你就没法同步后来索引新增的数据,可以考虑预热(Warming)技术在查询之前先缓存起来。
12.索引建好后要优化(optimize),尤其是更新频率低的索引一定要优化,但如果是更新频率很高的话,优化操作会带来负面开销,只能通过减少mergeFactor参数来缓解。
13.减小mergeFactor参数的设置(注:这个设置多少我们认为要看实际情况,实践中发现值比较小,索引建立过程中也会出现很多意外的情况)
14.限制向量和字段的使用,只获取你需要的数据而不要获取全部,可以先将文档编号(docID)排序再获取。
15.当获取文档时,使用FieldSelector来选出要取哪些字段以及怎么获取。(注:目前没用过这东西,现在的理解就是一个字段过滤器)
16.迭代所有的hits慢,有倆原因,首先是search()方法如果返回的hits超过了100个,它会再运行查询,可以使用返回HitCollector的search方法代替(注:不太明白,哪儿有啊),然后是hits可能分散在磁盘里,获取要更费IO,除非索引很小以便可以直接搁内存里,如果你不需要完整的文档对象,而只需要一小部分字段,可以显式用FieldCache类缓存起来。
17.当使用Fuzzy查询时,使用最少的前缀长度。(注:我们不用这玩意儿)
18.研究研究filters,查询时使用一个已缓存的bit集来限制结果集,比使用查询子句更有效,尤其是在大索引中查询大数目的文档,过滤器经常用在查询分类结果,很多时候也被查询子句替代,不同之处在于Query影响文档得分而Filter不会。
19.好好找出真正的瓶颈,复杂的查询,重量级的结果集处理往往就是关键之处,用XXX工具仿真来辅助定位问题。
分享到:
相关推荐
对于寻求高效翻译体验的用户而言,百度翻译精简版提供了划词翻译功能,这一功能极大地提升了用户的翻译效率。用户在处理外文资料或浏览外国网站时,只需轻轻一划,即可迅速得到准确的翻译结果,无需繁琐的手动输入。...
②手动精简Win 7的驱动; ③Win SXS的再精简批处理。 使用方法: ①首先使用Rt7 Lite加载配置文件对提取出来的ISO文件进行精简; ②加载install.wim文件到本地的一个空文件夹,对相关文件夹进行取得管理员权限操作...
为了解决这一问题,市场上出现了各种各样的翻译工具,而今天我们要介绍的是一款名为“强大的精简版翻译工具”,它以其轻便、高效的特点脱颖而出,满足了用户对翻译软件的基本需求。 这款翻译工具的主要特点体现在其...
最近在写一个小程序,jre1.8.0_181整整有199mb,对于一个只有400多k的程序来说,完全没必要,于是就进行精简,把jre精简到40M、左右,程序也能正常运行。如果你急需使用精简的jre,可以下载试试。
《VB6.0精简版:轻量级编程利器》 Visual Basic 6.0(简称VB6.0)是微软公司推出的一款经典的可视化编程工具,它的精简版更是为那些追求高效、简洁的开发者提供了理想的开发环境。在这个版本中,VB6.0的核心功能...
**Windows 10/11 专业版64位22H2正式版与NTLite精简配置文件详解** 在IT领域,操作系统是至关重要的组成部分,尤其是对于个人用户和企业来说。本文将深入探讨Windows 10专业版64位22H2(又称为22H2更新)和Windows ...
《金山英汉汉英全文翻译2006绿色精简版》是一款专为用户打造的高效、便捷的翻译工具,尤其适用于需要频繁进行双语转换的场合。此版本为绿色精简版,意味着它无需安装即可使用,且体积小巧,减少了对计算机资源的占用...
**SQL Server 2000 精简版详解** SQL Server 2000,由微软公司开发,是一款功能强大的关系型数据库管理系统(RDBMS),被广泛应用于企业级数据存储、管理和分析。其中,"迷你SQL2000"是针对小型企业或个人用户设计...
【标题】:“VS2010绿色精简”是指Visual Studio 2010的精简版,这种版本通常是为了方便用户快速安装和使用而设计的。与完整版相比,它去除了许多非核心功能,使得文件体积更小,安装过程更加简单,尤其适合那些只...
凯立德车机导航地图精简工具是一款专为凯立德车载导航系统设计的应用程序,旨在帮助用户优化和调整地图数据,以适应不同的需求和存储空间。在车载导航系统中,地图数据通常占据大量存储空间,对于一些老旧车机或者...
标题中的"超级精简版的jre"指的是对标准JRE进行优化和裁剪,移除了不必要的组件和服务,以实现更小的体积、更快的启动速度以及更低的资源消耗。 精简版JRE通常是为了满足特定应用场景的需求,比如嵌入式设备、低...
"武林精简工具-JIang CL"是一款专为《武林外传》游戏设计的优化与精简工具,由开发者JIang原创制作。该工具的主要目的是帮助玩家减少游戏的资源占用,提升游戏运行效率,同时保持游戏的核心体验。下面将详细阐述这款...
【超级精简版WINXP系统】是一个针对Windows XP操作系统进行深度优化和精简的版本,其特点是体积小巧,仅98MB。这个精简版系统旨在提供基础的计算机功能,适用于老旧硬件或低配置电脑,以提高运行速度和降低资源消耗...
《Windows Server 2003精简版虚拟机镜像详解》 Windows Server 2003是一款由微软公司推出的服务器操作系统,它以其稳定性和兼容性在IT领域中备受推崇。"Win2003精简版.7z"这个压缩包文件,包含了对Windows Server ...
"Windows 10 NTLite 精简配置范例"是这个过程的一个实例,它展示了如何将大型的Windows 10 LTSB(长期服务分支)版本精简到只有1.38GB,同时在运行时内存占用仅为690MB。这样的优化对于老旧计算机或者需要高效运行的...
本"精简版jre.zip"是专为64位操作系统设计的1.8.0版本,其经过优化和裁剪,体积仅有20MB,相较于官方完整版JRE,大大减少了存储空间的需求,对于那些只需要运行Java桌面程序而无需进行开发工作的小朋友们来说,这是...
jquery 精简版 jquery 精简版 jquery 精简版jquery 精简版 jquery 精简版 jquery 精简版 jquery 精简版
【华为系统精简】工具是针对华为EMUI操作系统设计的一款实用程序,主要目的是帮助用户精简手机中的预装软件,释放存储空间,提高设备运行效率。EMUI是华为基于Android系统深度定制的用户界面,虽然提供了丰富的功能...
"精简版微软雅黑TTF.rar" 是一个针对Unity引擎优化的微软雅黑字体资源包,旨在为开发者提供更轻量级的解决方案,减少游戏或应用的资源占用,同时保持清晰易读的文本显示。 首先,我们要理解“微软雅黑”(Microsoft...