影响搜索速度的原因很多,最终要因地制宜。
大致方向上,用下面的方式可以提高lucene搜索速度
1、内存索引,可以实时。
2、使用较小的mergeFactor,保持较少的文件,加快搜索速度
3、增大区间搜索的precisionStep,这会增大索引体积,但是减少了区间内记录的遍历。在solr中 filterquery,如果很多的fq参数一样,那么最好开缓存。否则就关闭
4、使用较少的关键字查询条件,比如把title和keyword,放在一个字段中索引起来,然后用着一个字段来查询。这减小了不同域的词典。?
5、减少搜索条件
6、减小搜索条件的结果集合,比如有的时间搜索,如果是全部时间,就不要传这个参数了,因为这样要解析这个时间,还要搜索出结果集,与其他条件的结果集做操作。如果这个搜索条件的结果集占了全部数据的一大半,甚至全部,那么是很不明智的。特别是数据(比如xxx亿)很多的时候。
7、使用filter query,这可以使用缓存。
上面的都是从搜索的角度看,其实索引时候的数据结构也是很重要的。
比如对“山东省大范围降雪”分词的时候,山东省可以分为“山东”、“省”或者分成一个词“山东省”
虽然在搜索的时候,可以用phrasequery,使得这两种分词的结果一样。但是在索引分词的时候,这两种分词差别是很大的:
在倒排索引中,很可能存在这种情况,“山东省”对应着10W条记录,而“山东”对应着12W条记录,“省”对应着1000W条记录。
而在搜索的时候,如果分词“山东省”,则只需要读入10W记录就可以。
而如果分词成“山东”“省”则需要读入12W+1000W记录,并且做并集。
所以这会慢一些。
solr中,如果使用solrcloud模式,可以用自动分片和定制分片两种方式。
在自动分片的时候,数据索引和搜索都需要通过solrcloud的通用的分片机制来完成,通用就意味着效率稍低。
所以当有更高的数据请求的时候,推荐使用定制分片,这样可以通过业务逻辑来大大的降低搜索和索引的时间。
来自:http://sling2007.blog.163.com/blog/static/84732713201393141153591/
分享到:
相关推荐
当前的IKAnalyzer官方版在用于Solr4以上高版本时,由于没有TokenizerFactory而造成诸多不便,于是有了为Lucene/Solr 4.7重新打包的IKAnalyzer 2012 FF
lucene和solr笔记
mmseg4j-solr-2.0.0.jar 要求 lucene/solr >= 4.3.0。在 lucene/solr [4.3.0, 4.7.1] 测试过兼容可用。 mmseg4j-solr-2.1.0.jar 要求 lucene/solr 4.8.x mmseg4j-solr-2.2.0.jar 要求 lucene/solr [4.9, 4.10.x] ...
lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用
lucene&solr原理分析,lucene搜索引擎和solr搜索服务器原理分析。
http://archive.apache.org/dist/lucene/java/ 这个是lucene的历史版本 http://archive.apache.org/dist/lucene/solr/ 这个是solr的历史版本
搜索引擎核心技术和实现是基于Lucene和Solr实现的一本书,该书详细讲解了搜索引擎的实现原来和当前最新的互联网行业应用架构,很实用。
LoremIpsum搜索 包含与 lucene 和 solr 一起使用的搜索算法... export CLASSPATH="<lucene>/lucene/replicator/lib/*:<nutch>/build/*:<nutch>/build/lib/*:<lucene>/solr/dist/*:<lucene>/solr/ dist/solrj-lib/*:*:.
适用于Apache Lucene / Solr的土耳其语分析组件 在土耳其,开源软件的使用正日益增长。 Apache Lucene / Solr(和其他 )邮件列表上的土耳其用户正在增加。 该项目利用公共可用的土耳其语NLP工具从中创建。 我创建...
Solr is free to download from http://lucene.apache.org/solr/. Designed to provide high-level documentation, this guide is intended to be more encyclopedic and less of a cookbook. It is structured to ...
solr -8.11.1.zip 文件
本人用ant idea命令花了214分钟,35秒编译的lucene-solr源码,可以用idea打开,把项目放在D:\space\study\java\lucene-solr路径下,再用idea打开就行了
lucene solr 全文搜索框架,该教程有助于深入了解lucene solr的用法以及他么们之间的比较
Solr 用于 8.5.1(或 7.3.1)版本wget http://archive.apache.org/dist/lucene/solr/8.5.1/solr-8.5.1.tgz 2. 阿帕奇纳奇 使用 Apache Nutch 版本 1.17(或 1.16)。 wget ...
solr-4.10.3下载地址:http://archive.apache.org/dist/lucene/solr/4.10.3/ 具体操作如下: 引用 1.在/opt/cloudera/parcels/CDH/lib/solr/webapps/solr/WEB-INF创建classes目录 2.把IKAnalyzer.cfg.xml 和 ...
lucene4 solr4j arIk4
重要说明:该项目已移至基于https://github.com/statsbiblioteket/summa/的基于Lucens(和Solr)的搜索引擎... 注意:尽管Summa是开源的,但重点是Statsbiblioteket使用的功能。 没有为支持外部用户分配任何显式资源。
Lucene&solr简介及使用,首先介绍了lucene,之后介绍了solr,中间有各种相关插件的应用.
Lucene Solr 搜索引擎解密 ppt
solr-4-10-3.zip 大家也可以到http://archive.apache.org/dist/lucene/solr/中下载 只不过有点慢