`
qindongliang1922
  • 浏览: 2183882 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117534
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125921
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59907
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71301
社区版块
存档分类
最新评论

浅谈Solr和ElasticSearch建索引性能优化策略

阅读更多




由于Solr和ElasticSearch都是基于Lucene构建的,所以他们之间有很大程度的相似性,故而他们的一些优化策略基本也是通用的,面对越来越多的海量数据,如何优化全量索引的写入性能呢? 散仙简单总结了下面几个方向的优化策略,如有疑问,欢迎拍砖。


(一)硬件优化:
(1)CPU加大,有利于并发写入
(2)内存提升,加大写入缓冲
(3)磁盘IO,使用SSD或者IO读写更快的磁盘
(4)网络IO,保证客户端与服务端的通信带宽充足

(二)服务端框架优化:
(1)加大shard的数目,理论上shard越多,写入速度越快
(2)设置较大的索引flush触发条件,ramBufferSizeMB 或者 maxBufferedDocs
(3)写索引时,关闭副本,因为同步索引会大大降低写入速度
(4)监控GC,调整JVM参数
如果Full GC频繁,加大JVM堆内存,
如果Yong GC频繁,加大新生代的比例,如果使用的是CMS垃圾收集器,必要时,可以关闭survive区,避免survive区和Eden区来回拷贝
(5)尽量使用稳定的新版本如JDK和框架本身
(6)内存大的,可以尝试G1垃圾收集器


(三) 客户端优化
(1)如果公司有大数据部门,可以使用Hadoop或者Spark分布式集群构建索引
(2)如果公司没有大数据产品,可以使用多线程或者多进程并行构建索引
(3)使用批量提交
(4)减少commit次数,让服务端控制flush索引,索引完成之后,可手动commit一次。



有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,我们同行。

  • 大小: 24.3 KB
0
5
分享到:
评论

相关推荐

    相关性搜索利用Solr与Elasticsearch创建智能应用

    资源名称:相关性搜索 利用Solr与Elasticsearch创建智能应用内容简介:《相关性搜索:利用Solr与Elasticsearch创建智能应用》揭开了相关性搜索的神秘面纱,告诉大家如何将 Elasticsearch与 Solr这样的搜索引擎作为可...

    Relevant search with applications for Solr and Elasticsearch

    - **解决方案**:书中提供了实用的工具和技术,比如使用Solr或Elasticsearch提供的诊断功能来检查索引质量和查询性能。 - **最佳实践**:分享了一些经过验证的最佳实践,帮助读者快速定位并解决问题。 4. **驾驭...

    ES和solr搜索方案对比

    ES(ElasticSearch)和Solr都是基于Lucene的搜索引擎,它们各自提供了一套搜索框架,用于实现高效的全文搜索功能。由于两者都是在Apache License 2下开源的,因此在选择使用哪种搜索方案时,需要根据不同的使用场景...

    Solr数据库插入(全量和增量)索引

    Solr 数据库插入全量和增量索引 Solr 是一个基于 Lucene 的搜索引擎,可以快速高效地对大量数据进行索引和查询。在实际应用中,我们需要将数据插入 Solr 索引库中,以便实现高效的搜索功能。本文将详细介绍 Solr ...

    es与solr的区别_solr_ES_es与solr的区别_elasticsearch_

    在大数据和搜索引擎领域,Elasticsearch (ES) 和 Apache Solr 都是广泛使用的开源技术,它们都基于 Lucene 库,提供高性能、可扩展的全文搜索和分析能力。然而,两者在设计哲学、使用场景、功能特性以及社区支持等...

    solr增量导入更新索引包

    - 调整Solr的索引和查询参数,以平衡搜索性能和内存使用。 - 使用适当的分片策略,分散负载,提升处理大量增量更新的能力。 通过理解并正确应用上述知识点,你可以有效地管理和维护Solr的增量导入更新索引,确保...

    浅入深出ElasticSearch构建高性能搜索架构.docx

    1. **课时2:es与solr对比介绍**:通过对ElasticSearch和Solr的功能特性和适用场景进行对比分析,加深对这两种搜索引擎的理解。 2. **课时4:elasticsearch5.0集群安装**:详细介绍如何安装配置ElasticSearch集群,...

    Solr Elasticsearch lucene 搜索引擎

    Solr、Elasticsearch和Lucene是三个在搜索引擎领域中至关重要的技术,它们共同构建了现代数据检索的基础架构。下面将分别对这三个组件进行详细解释,并探讨它们之间的关系。 **Lucene** Lucene是一个高性能、全文本...

    Solr和ElasticSearch分析比较.docx

    2. 当实时建立索引时,Solr 会产生 io 阻塞,查询性能较差,ElasticSearch 具有明显的优势。 3. 随着数据量的增加,Solr 的搜索效率会变得更低,而 Elasticsearch 却没有明显的变化。 Solr 的架构不适合实时搜索的...

    相关性搜索 利用Solr与Elasticsearch创建智能应用

    本书揭开了相关性搜索的神秘面纱,告诉大家如何将Elasticsearch 或Solr 这样的搜索引擎作为可编程的相关性框架,从而表达业务排名规则。从这本书中你可学会如何结合各种外部数据源、分类方法以及文本分析手段对...

    hbase+solr创建二级索引完整操作

    本文档详细介绍了如何利用HBase和Solr创建二级索引的过程。通过整合HBase与Solr的优势,可以构建高性能的数据存储与检索系统。HBase作为分布式列族数据库,能够处理海量数据,并提供快速随机读写能力。而Solr则是一...

    solr创建索引并查询

    ### Solr创建索引并查询的关键知识点 #### 一、Solr简介 Apache Solr是一款开源的全文搜索引擎平台,基于Lucene实现。它提供了一套完整的搜索解决方案,并且支持多种高级特性,如高亮显示、分面搜索、地理位置搜索...

    搜索引擎选择: Elasticsearch与Solr - 叽歪.pdf

    Elasticsearch的特点包括分布式特性,可以将索引分布在多个服务器和节点上,从而提供水平扩展能力。它还具备近实时搜索功能,用户可以几乎实时地看到新增或修改的数据。Elasticsearch常用于各种复杂的搜索场景,比如...

    solr创建索引的原理及解析

    ### Solr创建索引的原理及解析 #### 一、Solr概述与索引机制 Apache Solr是一款基于Lucene的高性能全文检索服务器,广泛应用于网站的搜索功能中。Solr支持分布式部署,并且提供了丰富的API接口,方便与其他系统...

    基于solr的网站索引架构(一)

    通过Sharding和Replication,可以实现负载均衡和数据冗余,提高系统的可用性和性能。 8. **优化与调优**: 在实际应用中,我们需要不断优化索引和查询性能。这可能涉及到调整Solr的配置参数,如缓存大小、并发设置...

    跟益达学Solr5之增量索引MySQL数据库表数据

    6. **监控和优化**: 为了确保系统的稳定性和性能,我们需要监控索引过程,可能需要调整SQL查询以提高性能,或者调整Solr的缓存策略。 在这个过程中,`mobile.sql`文件可能是用于初始化或测试MySQL数据库的脚本,...

    Solr 学习笔记(五)-Solr扩展之分布式索引实例

    Solr的分布式索引能力允许我们跨越多个节点分布和处理索引过程,从而提高索引速度和查询性能。在实际应用中,这尤其适用于大型企业级搜索引擎解决方案。 首先,我们需要理解SolrCloud的概念。SolrCloud是Solr的一个...

    Solr 查询,索引

    例如,可以创建一个名为"MySearch"的Solr集合,配置相应的字段类型和分析器,然后将数据库中的数据导入到索引中。用户可以通过查询接口发送查询请求,获取高亮且排序后的结果。 总结,Solr的查询和索引机制是其强大...

Global site tag (gtag.js) - Google Analytics