`
gcgmh
  • 浏览: 349407 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Solr调优

    博客分类:
  • Solr
阅读更多
Solr调优



Schema设计的思考

索引字段的数量(Indexed Fields)

索引字段会增加如下开销:

<!--[if !supportLists]-->1.       <!--[endif]-->建立索引时的内存使用率

<!--[if !supportLists]-->2.       <!--[endif]-->Segment合并时间

<!--[if !supportLists]-->3.       <!--[endif]-->索引优化时间

<!--[if !supportLists]-->4.       <!--[endif]-->索引大小

在这些字段上面加上omitNorms=”true”可减轻这些症状。



存储字段(Stored Fields)

获取查询结果的存取字段是个明显的开销。每个文档所存储的字节数决定了这个开销的大小。文档存储的字节数越大,文档就会更加稀疏的分部在磁盘里,导致更多的IO读写。尤其是那些大的存储字段。

需要考虑把大的存储字段,存储在Solr之外。如果你非的存储它,就考虑把它做成压缩字段。但这会增加CPU的消耗,而减少IO的负担。

如果你不是每次都要用到所有字段,那就考虑把有些字段设成lazy字段,特别是使用压缩字段的时候。



Solr配置文件的思考

mergeFactor

mergeFactor参数粗略的决定了segment的数量。

mergeFactor告诉Lucene在合并到一个单一的segment之前,多少个同样大小的segment可以build。

mergeFactor的选择

大的mergeFactor:

优点:提高索引建立的速度

缺点:merge频率下降,结果是index文件增多,searching变慢

小的mergeFactor:

优点:index文件少,提高searching速度

缺点:merge频率增加,建立索引较慢



HashDocSet Max Size参数的考虑

hashDocSet参数用于优化filter。较小的set,内存效率更高,遍历更快,交叉更快。

此参数和实际文档数量有关系:

<!--[if !supportLists]-->1.       <!--[endif]-->计算0.005总的文档数量

<!--[if !supportLists]-->2.       <!--[endif]-->上下的尝试来获取最佳的查询时间

<!--[if !supportLists]-->3.       <!--[endif]-->当高的值和低的值,导致系统的性能变化不大时,选择较高的值。



Cache

Cache命中率

利用Solr的Admin检测cache的统计。提高cache的大小是个好方法。注意filterCache,facetting要用到filterCache。



排序字段的Explicit Warming

如果你有很多的给予排序的field,添加显式warming 查询到newSearcher和firstSearcher的事件监听器。在用户查询之前,可以填充FieldCache。

出处:http://blog.163.com/kivvf@126/blog/static/102516320084142011892/
学习

---------------------------------------------------------------------
solr学习资料:

“用 Lucene 加速 Web 搜索应用程序的开发”(Deng Peng Zhou,developerWorks,2006 年 8 月):了解关于 Lucene 搜索库的更多信息,该库用作 Solr 的基础库。


“Parsing, indexing, and searching XML with Digester and Lucene”(Otis Gospodneti,developerWorks,2003 年 6 月):Lucene 初探。


Solr 主页:学习教程、浏览 Javadocs 并随时关注 Solr 社区。


Solr Wiki:查看 Wiki 获取关于 Solr 运作的众多文档。


Solr 分析:了解关于 Solr 的分析器、断词工具和标记筛选器工作原理的更多信息。


Lucene QueryParser Syntax:了解关于 Solr 和 Lucene 的查询解析器语法的更多信息。


The Porter Stemming Algorithm:了解关于 Solr 使用的词干提取算法的更多信息。


Public Websites using Solr:使用 Solr 功能的 Web 站点的清单。


Lucene Java 主页:探索 Solr 的起源。


Lucene In Action (Otis Gospodneti and Erik Hatcher;Manning,2004 年):对 Lucene 有兴趣的人的必读之作。


developerWorks Java 技术专区:关于 Java 编程各个方面的数百篇文章。
分享到:
评论

相关推荐

    linux+tomcat+mysql+solr调优

    linux+tomcat+mysql+solr调优,整理的比较粗糙,给大家分享参考下

    SOLR检索调优

    SOLR 检索调优

    solr同步调优

    solr同步调优,达到15分钟处理10万条数据更新,大约20万次solr操作(删除和插入),失败率1/10万

    solr4.4部署、维护、调优

    solr4.4部署、维护、调优,包括安装jkd,tomcat部署,solr4.4部署

    solr深入浅出

    介绍了Solr的特性,Solr服务原理,源码结构,Solr的安装与配置,Solr的应用,SolrJ的用法,solr性能调优等等

    SOLR的应用教程

    6 solr性能调优 55 6.1 Schema Design Considerations 55 6.1.1 indexed fields 55 6.1.2 stored fields 55 6.2 Configuration Considerations 55 6.2.1 mergeFactor 55 6.2.2 mergeFactor Tradeoffs 56 6.3 Cache ...

    spark-solr:使用SolrJ从Solr作为Spark RDD读取数据并将对象从Spark索引到Solr的工具

    索引编制例子索引和查询Twitter数据索引和查询纽约市黄色出租车CSV数据配置和调优查询参数询问领域过滤器行数max_rows request_handler 使用分片内拆分提高读取并行度分裂split_field splits_per_shard flatten_...

    HBase视频教程下载|基于微博数据应用的HBase实战开发

    课时25:项目介绍与Solr环境搭建 课时26:数据层设计与中文分词器配置 课时27:Spring集成HBase之核心操作 课时28:Spring集成HBase之核心操作(续) 课时29:基于dom4j进行数据文件解析 课时30:数据层设计与实现之...

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ │ JVM调优实战.doc │ │ Tomcat7优化.docx │ │ 深入理解Java内存模型.pdf │ │ │ └─课后资料 │ ├─笔记 │ │ 淘淘商城_day20_课堂笔记.docx │ │ │ └─视频 │ 07-使用Jedis连接集群操作.avi │ ...

    java+大数据.pdf

    hadoop(10天) hive/hBase/Sqoop/Ooz/hue/flume(每个三天) lucence/solr/elasticsearch(10天) scala/phthon(每个五天) 通信框架(Mina/netty)(⼤数据中⽤到) spark(各个模块都讲解)(10天) CDH(五天) openstack...

    Lucene实战

    包括认识Lucene、建立索引、为应用程序添加搜索功能、高级搜索技术、扩展搜索、使用Tika提取文本、Lucene的高级扩展、使用其他编程语言访问Lucene、Lucene管理和性能调优等内容,最后还提供了三大经典成功案例,为...

    java+大数据(1).pdf

    linux(3天/15天) 根据情况讲解 ,三天只能掌握基础知识 ,剩下12天给⼤家让⼤家⾃学,如果需要也可以讲解15天 JAVA虚拟机调优(三天)spark 中需要⽤到虚拟机的知识 hadoop(10天) hive/hBase/Sqoop/Ooz/hue/flume...

    大数据开发工程师的岗位职责.docx

    2、有搜索引擎全文检索开发经验 ,如:elasticsearch、solr; 3、熟悉python、R任意一门开发语言; 4、有SAAS,PAAS企业级应用平台或者互联网,金融等大型应用平台开发经验优先考虑; 5、 本科及以上学历,计算机/软件...

Global site tag (gtag.js) - Google Analytics