`
JLK
  • 浏览: 235752 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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
命中率

利用SolrAdmin检测cache的统计。提高cache的大小是个好方法。注意filterCachefacetting要用到filterCache



排序字段的Explicit Warming

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

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

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

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


“Parsing, indexing, and searching XML with Digester and Lucene”
Otis GospodnetideveloperWorks2003 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 HatcherManning2004 年):对 Lucene 有兴趣的人的必读之作。


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

分享到:
评论

相关推荐

    linux+tomcat+mysql+solr调优

    虽然给定的部分内容中没有提及具体的Solr调优方法,但在实际应用中,Solr的性能优化可以从以下几个方面着手: 1. **索引结构优化**:合理设计索引结构,包括字段类型、分词器的选择等。 2. **查询优化**:使用高效...

    SOLR检索调优

    SOLR 检索调优

    solr同步调优

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

    solr4.4部署、维护、调优

    在本文中,我们将探讨如何在 Linux 环境下部署、维护和调优 Solr 4.4 版本。 首先,为了运行 Solr,我们需要先安装 Java 开发工具包(JDK)。这里我们选择了 JDK 1.7。使用 rpm 命令安装 JDK 1.7,并通过编辑 `/etc...

    solr资料以及问题汇总

    "solr性能调优.mht"文件专门针对Solr的性能优化,包括索引优化、硬件配置、查询策略调整等方面,对于追求高效稳定运行的Solr系统来说,这部分内容是必不可少的。 这些文档和资料覆盖了Solr的多个方面,包括入门、...

    SOLR的应用教程

    **六、Solr性能调优** 6.1 Schema Design Considerations 6.2 Configuration Considerations 6.3 Cache autoWarm Count Considerations 6.4 Cache hit rate 6.5 Explicit Warming of Sort Fields 6.6 Optimization ...

    solr解压版安装包

    7. **监控与性能调优**:Solr提供了丰富的监控指标,如JMX接口,可以通过监控工具(如JConsole)观察Solr的内存使用、线程状态等。根据监控结果进行性能调优,如调整JVM参数、索引分片策略等。 8. **安全与集群**:...

    支持solr5.5 solr6.0中IK分词需要的资料

    - **性能调优**:根据实际数据量和查询需求调整 IK 分词器的配置参数,如缓存大小、最大扩展词长度等。 - **分词结果的精度**:观察并评估分词结果,对特定领域可能需要自定义词典以提高分词的准确性。 - **多语言...

    solr教材-PDF版

    ### Solr教材知识点详解 ...以上是关于《solr教材-PDF版》的详细知识点介绍,涵盖了从Solr的基本概念到具体应用场景,再到性能调优等多个方面,旨在帮助读者全面了解和掌握Solr的核心技术和最佳实践。

    solr7.2.1 ik

    6. **测试与调优**:通过Solr的Admin UI或者使用命令行工具,可以测试分词效果并根据反馈进行优化。 总之,"solr7.2.1 ik"这个压缩包为用户提供了Solr 7.2.1版本与IK分词器的集成,简化了搭建过程,方便开发者快速...

    solr深入浅出

    性能调优是Solr使用中的重要环节。这涉及到Schema设计(如哪些字段应被索引,哪些应被存储),配置优化(mergeFactor、缓存设置等),内存管理(防止内存溢出,合理分配JVM内存),以及更新频率和查询响应压缩等方面...

    mmseg4j-solr-2.4.0.jar

    《mmseg4j在Solr中的...通过合理的配置和调优,我们可以充分利用mmseg4j的优势,提升Solr系统的整体性能。在实际项目中,结合Solr的其他特性,如 faceting、spell checking等,可以构建出高效、智能的全文搜索引擎。

    solr 4.10&

    - **集群调优**:根据负载动态调整节点数量和分布。 7. **社区支持**: 作为Apache软件基金会项目,Solr拥有活跃的开发者社区,不断提供新功能和改进,以及丰富的文档和示例代码供学习参考。 综上所述,Solr ...

    Solr6.2官方版参考手册

    3. **性能调优**: 提供针对不同场景下的性能优化建议和技术细节。 4. **高级特性**: 如复制、分片、云模式等高级功能的实现原理和配置方法。 5. **安全性**: 讨论 Solr 的安全性和认证/授权机制。 #### 九、案例...

    最新版windows solr-8.9.0.zip

    8. **性能调优**: - 调整内存分配、并发设置、索引缓存策略等,以优化Solr的性能。 - 分析和监控Solr的日志和JVM指标,以便找出性能瓶颈。 9. **安全考虑**: - 需要配置Solr的安全组件,如Solr Security ...

    solr 的使用及安装

    从安装、创建核心到索引数据、查询优化,每个环节都有详细的配置和调优策略。了解并掌握 Solr 的使用,能够帮助开发者构建出满足业务需求的高效检索系统。在实际操作中,应结合具体场景和需求,灵活运用 Solr 的各种...

    solr4.7.2服务器tomcat集成

    根据实际情况进行调优,例如调整缓存大小、增加硬件资源等。 10. **扩展与维护**:Solr支持多种插件,如高亮显示、拼音分析等,可以根据业务需求进行扩展。同时,定期更新到最新版本以获取安全补丁和新特性。 综上...

    solr-8.1.1.tgz

    Solr,全称为Apache Solr,是Apache软件基金会的一个开源项目,主要被设计用来实现高效、可扩展的全文检索服务。...在实际应用中,需要根据具体业务需求进行详细配置和调优,以充分发挥Solr的潜力。

    solr开发维护参考

    同时,性能分析和调优也是维护工作的一部分,这涉及到内存设置、硬件配置和网络优化。 10. **日志与监控**:Solr提供了丰富的日志信息,配合监控工具(如JMX、Prometheus、Grafana等),可以实时监控系统状态,及时...

Global site tag (gtag.js) - Google Analytics