影响搜索速度的原因很多,最终要因地制宜。
大致方向上,用下面的方式可以提高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
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搜索服务器原理分析。
http://archive.apache.org/dist/lucene/java/ 这个是lucene的历史版本 http://archive.apache.org/dist/lucene/solr/ 这个是solr的历史版本
### Lucene与Solr的使用详解 #### 一、Lucene概述 Lucene是一款高性能、全功能的文本搜索引擎库,由Java语言编写而成。它能够为应用系统提供强大的全文检索能力,是当前最为流行的开源搜索库之一。由于其高度可...
LoremIpsum搜索 包含与 lucene 和 solr 一起使用的搜索算法... export CLASSPATH="<lucene>/lucene/replicator/lib/*:<nutch>/build/*:<nutch>/build/lib/*:<lucene>/solr/dist/*:<lucene>/solr/ dist/solrj-lib/*:*:.
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 ...
Lucene和Solr是两个非常重要的开源搜索引擎工具,它们在大数据处理、信息检索以及网站全文搜索等领域发挥着至关重要的作用。本篇将详细阐述Lucene和Solr的基本概念、工作原理以及如何在实际应用中使用它们。 **1. ...
适用于Apache Lucene / Solr的土耳其语分析组件 在土耳其,开源软件的使用正日益增长。 Apache Lucene / Solr(和其他 )邮件列表上的土耳其用户正在增加。 该项目利用公共可用的土耳其语NLP工具从中创建。 我创建...
描述中提到,你需要修改`wen.xml`中的`solrhome`路径,但默认情况下,Solr的配置文件应该是`server/solr/solr.xml`。在这个文件中,你应找到类似`<solr persistent="true">`的元素,里面包含各个核心的配置。确保这...
本人用ant idea命令花了214分钟,35秒编译的lucene-solr源码,可以用idea打开,把项目放在D:\space\study\java\lucene-solr路径下,再用idea打开就行了
- 访问官方下载页面:[http://www.apache.org/dyn/closer.cgi/lucene/solr/](http://www.apache.org/dyn/closer.cgi/lucene/solr/) - 选择版本3.5并将其解压到D盘,例如路径为`D:/solr/apache-solr-3.5.0` 2. **...
- **Windows版本**: [http://labs.xiaonei.com/apache-mirror/lucene/solr/1.3.0/apache-solr-1.3.0.zip](http://labs.xiaonei.com/apache-mirror/lucene/solr/1.3.0/apache-solr-1.3.0.zip) - **Linux版本**: ...
5. Solr是一个基于Lucene构建的企业级搜索服务器,它提供了搜索引擎的索引、搜索、排序等功能,并通过RESTful API与各种客户端进行交互。Solr在实现搜索引擎方面,不仅继承了Lucene的强大功能,还提供了分布式搜索、...
3. **配置Lucene或Solr**:将生成的jar包添加到Lucene或Solr的lib目录下,然后在相应配置文件中指定IKAnalyzer为Analyzer。 4. **测试与应用**:编写测试代码验证IKAnalyzer的分词效果,确认无误后即可在实际项目中...
solr -8.11.1.zip 文件