当前位置: 首页 > news >正文

Lucene检索提高性能的几个方式

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

1.采用最新版本的Lucene

2.索引文件存储采用本地文件系统,如果需要挂载远程系统,请采用 readonly方式。

3.当然采用更好的硬件,更高I/O的磁盘

4.提高OS 缓存,调整参数

5.提高JVM heap size

6.索引文件读写分离,打开 IndexReader 的时候采用 readonly方式

7.在非Windows系统中使用,采用 NIOFSDirectory 取代 FSDirectory

8.采用单例的 IndexSearcher。

9.只在必须的情况下重复打开 IndexSearcher,监视 索引文件,如果有更新才重新打开 IndexSearcher

10.减少mergeFactor, 有助于提高检索速度,但会降低 索引 速度, 检索和索引分离

11.限制使用 sorted field 和 term vector。分页获取,通过docID 得到文档的时候请先排序。

12.在得到document的时候采用 FieldSelector  决定哪些field需要加载,怎样加载。

13.当采用 Fuzzy 模糊检索的时候,prefix前缀 长度尽可能的短

14.谨慎使用Filter,Filter 提高检索精度,不会影响评分

转载于:https://my.oschina.net/congqian/blog/93100

相关文章:

  • Ajax学习记录
  • OutOfMemoryError汇总
  • H3C交换机MAC VLAN原理及配置示例
  • QQ互联redirect uri is illegal(100010)!
  • iterator迭代循环的风格问题
  • [objective-c]关于KVC--KVO--KVB
  • NSStringOC字符串
  • linux 升级kernel
  • 构建私有云和公有云的免费开源软件项目OpenStack
  • KNN算法介绍 | 沙湖王
  • MySQL主从同步设置和同步错误处理
  • Mysql note 2
  • Android拓展系列(8)--Vim插件便捷管理(使用git submodule和pathogen)
  • DHCP中继与vlan的隔离
  • poj 3041 Asteroids(二分图最小顶点覆盖)
  • ES2017异步函数现已正式可用
  • flutter的key在widget list的作用以及必要性
  • JavaScript HTML DOM
  • js继承的实现方法
  • JS实现简单的MVC模式开发小游戏
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Python中eval与exec的使用及区别
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Swift 中的尾递归和蹦床
  • SwizzleMethod 黑魔法
  • 百度地图API标注+时间轴组件
  • 从setTimeout-setInterval看JS线程
  • 对象管理器(defineProperty)学习笔记
  • 给初学者:JavaScript 中数组操作注意点
  • 关于 Cirru Editor 存储格式
  • 跨域
  • 前端之React实战:创建跨平台的项目架构
  • 无服务器化是企业 IT 架构的未来吗?
  • 译自由幺半群
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • Spring Batch JSON 支持
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • !!Dom4j 学习笔记
  • #pragma预处理命令
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (C语言)逆序输出字符串
  • (ros//EnvironmentVariables)ros环境变量
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (三)uboot源码分析
  • (四) Graphivz 颜色选择
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)c++ std::pair 与 std::make
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃