`
ld_hust
  • 浏览: 166200 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Lucene 提高搜索性能方式

阅读更多

1、对于按创建时间的排序可以使用doc.id的方式
new SortField(null, SortField.DOC, reverse)排序方式尽量使用INT类型的字段
也就是按照写入索引的顺序排序
2、对于时间字符串的排序可以转换成整数进行排序
3、去掉不必要的parse
使用TermQuery替换
4、TermQuery和Term可以只保留一个实例
createTerm(text)
5、减少Doc到model的转换
索引出来String到Date的转换多余而且费时
直接使用Doc对象包装成JSONObject
6、MultiFieldQueryParser改成自己用boolean查询重构
7、减少请求参数的包装类
8、搜索排序方法可以作为常量
将sort参数变成int型,使用swich进行判断
10、使用HitCollector类来适应不同情况下,Hits的大小
新、旧接口
相关搜索接口
11、使用尽可能快的磁盘IO
12、日志,先写文件,每天批量入库
13、增量索引使用reopen
新的reopen()方法只会加载那些变更过的索引片断,而不是重新加载完整的索引。
14、setMergeFactor 在做实时索引的时候,可以设置的小一点
这样就会及时索引进去


索引
索引
1、t.termText()替换为new String(t.termBuffer(),0,t.termLength())
2、StringReader 和TokenStream对象都需要close
3、索引时Document只用一个、Field只用几个
一个Document对象对应多个Field实例
Field有新的setValue方法,动态改变属性
不能只有一个Field实例
例如:idField, bodyField
必须等Document都到索引中之后,才可以重新设置值
4、索引中Field的命名只使用2个字符表示
5、有些索引字段可以考虑使用0,1替代字符串,排序采用整数来排
6、减少索引的存储字段,一般只存ID
7、索引的时候只用一个IndexWriter对象
8、3.1版本有个新的方法writer.ramSizeInBytes()
根据RAM的使用情况,来决定是不需要刷新到磁盘。
之前:setMaxBufferedDocs
9、批量索引的时候,尽可能多使用一些内存,采用非复合的文件方式,完成后集中优化合并索引文件
fsWriter.addIndexesNoOptimize
fsWriter.setUseCompoundFile(false);
需要注意不要超过系统的允许打开文件数
10、重复使用单一的Token实例,在analyzer中。
11、Turn off auto-commit if there are stored fields and term vectors
设置autoCommit=false,直到writer close之后才会生效
默认是true
12、如果总是同时在多个分词的字段中查询,可以考虑将多个Field合并到一个Field中
13、增加mergeFactor,但是不要太大
反复调试获取经验值
14、关闭一些实际上没用的功能(不要存储一些不必要的字段,尽量不要打开term vectors)
15、使用更快的analyzer
16、加快获得document数据的速度
比如:从数据库、文件获取数据的速度
17、索引的时候可以考虑使用多线程
使用多线程addDocuments
需要测试,然后确定线程数
18、可以分开索引,然后合并
并行索引机制

分享到:
评论

相关推荐

    论文研究-基于Lucene的地名数据库快速检索系统.pdf

    最后,开发了一套具有快速搜索和地图定位展示的Web地名检索系统,使用500万条真实地名数据测试了其检索性能,查询平均耗时不到1 s,比MySQL数据库模糊检索效率提高了15倍,匹配结果也更加准确,能够提供高效灵活的...

    基于Lucene的中文自然语言搜索引擎

    针对Lucene 中的中文分析器不符合汉语的习惯,实现基于标准中文词库中文分析器。提高了检索查全率、查准率以及检索性能

    ASP.NET基于Ajax+Lucene构建搜索引擎的设计和实现(源代码+thesis).zip

    性能优化:我们将使用一系列性能优化技术来提高应用程序的性能。这包括使用高效的算法和数据结构、使用缓存技术和数据库索引、进行代码优化和资源管理等。 通过采用这些技术方案,我们的项目将能够提供一个高性能、...

    [搜索链接]JAVA(结合lucene)版的公交搜索系统.zip

    通过以上技术选择和框架搭建,该项目可以实现一个高性能、可扩展性强的Web应用程序。开发人员可以基于框架提供的功能和组件进行快速开发,减少重复代码的编写,提高开发效率。同时,使用MySQL作为数据存储,可以保证...

    Java搜索引擎的研究与实现(含文档+源码)

    9 3.2.4如何提高程序性能 11 3.2.5网络机器人的代码分析 12 3.3小节 14 第四章 基于lucene的索引与搜索 15 4.1什么是Lucene全文检索 15 4.2 Lucene的原理分析 15 4.2.1全文检索的实现机制 15...

    淘特站内搜索引擎(C#版) v3.3

    淘特站内搜索引擎是由淘特JSP搜索引擎发展而来,系统基于Lucene.Net核心,通过高效的中文分词算法将数据库中内容进行分析、索引并保存至硬盘中。前台搜索时,通过读取索引文件查询,避免了传统数据库查询在高并发及...

    已编译版本solr-8.11.2.tgz

    Solr是一个高性能,采用java语言,基于Lucene开发的全文搜索服务器。并对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置,可扩展并对查询性能进行了优化,提供了一个完善的功能管理页面,是一款...

    slor7.5最新版本

    Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索...

    基于java搜索引擎源码

    目录 1 摘要 3 第一章 引言 4 第二章 搜索引擎的结构 5 2.1系统概述 5 ...3.2.4如何提高程序性能 11 3.2.5网络机器人的代码分析 12 3.3小节 14 第四章 基于LUCENE的索引与搜索 15 4.1什么是LUCENE全

    Hbase 二级索引方案

    能,Solr 是一个高性能,采用 Java5 开发,基于 Lucene 的全文搜索服务器。同时对其进行 了扩展,提供了比 Lucene 更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能 进行了优化,并且提供了一个完善的功能...

    贞龙jsp版本CMS(BIZOSSCMS)高性能内容管理系统正式版

    2.利于搜索引擎对网站的友好程度,提高搜索引擎对网站收录量;3.很大程度上提高了用户访问的效率。 这样一来,一些地区门户、行业网站、甚至政府部门信息类网站都免去了因为大量数据访问速率下降的后顾之忧。 7. ...

    贞龙(BIZOSSCMS)高性能内容管理系统JAVA版 v4.1.rar

    2.利于搜索引擎对网站的友好程度,提高搜索引擎对网站收录量;3.很大程度上提高了用户访问的效率。 这样一来,一些地区门户、行业网站、甚至政府部门信息类网站都免去了因为大量数据访问速率下降的后顾之忧。 7. ...

    淘特站内搜索引擎(C#版) 3.3

    淘特站内搜索引擎(C#版)基于Lucene.Net核心,通过高效的中文分词算法将数据库中内容进行分析、索引并保存至硬盘中。前台搜索时,通过读取索引文件查询,避免了传统数据库查询在高并发及海量数据下的性能问题。因前台...

    Solr全文搜索服务器-其他

    Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过http收到一个XML/JSON响应来实现。 它的主要特性包括: 高效、灵活的缓存功能, 垂直搜索...

    网络爬虫调研报告.doc

    Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的 分布式处理模型保证了系统的性能,类似Eclipse的插件机制保证了系统的可客户化,而 且很容易集成到自己的应用之中。 Larbin 开发语言...

    网络爬虫调研报告(1).doc

    Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的 分布式处理模型保证了系统的性能,类似Eclipse的插件机制保证了系统的可客户化,而 且很容易集成到自己的应用之中。 Larbin 开发语言...

    网络爬虫调研报告(2).doc

    Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的 分布式处理模型保证了系统的性能,类似Eclipse的插件机制保证了系统的可客户化,而 且很容易集成到自己的应用之中. Larbin 开发语言:...

    JiveJdon v4.6.1.zip

    类似google的全文搜索(Compass lucene 一个论坛如果没有强大搜索,只能成为废话垃圾桶);基于AOP的通用权限实现;Evans DDD实现案例;所有业务功能插件式管理;界面和内容完全分离;依托Jdon框架高性能和内容实时...

    TEACHING_OSU_DocAnalysis_Fall2015_Assign1

    在“ / lab1-q1-test”中的测试数据上测试搜索引擎6,在数据收集“政府”上测试搜索引擎,您可以从github下载该数据7,在FileIndexBuilder中修改_analyzer以提高搜索性能8,还可以修改相似度功能以进一步

Global site tag (gtag.js) - Google Analytics