`

Elasticsearch模块功能之-索引存储(Store)

阅读更多

Elasticsearch模块功能之-索引存储(Store)

 

该模块可以控制索引数据的存储方式,索引可以存储在内存和磁盘上。使用内存方式可以得到更好的性能,但受限于实际的可用的物理内存大小。

store level throttling

Elasticsearch中的segments merge采用异步的方式,但系统低IO的情况下还是会影响索引和查询操作。想要解决这种问题,Elasticsearch提供两种方式(索引级别和节点 级别)的配置。
节点级别配置
indices.store.throttle.type:merge
indices.store.throttle.max_bytes_per_sec:5mb //默认20mb
如上设置之后,该节点上的segments merge不会超过5mb/s
索引级别设置:
index.store.throttle.type:node
index.store.throttle.max_bytes_per_sec:10mb
如上设置是基于 索引的,可以跨多个节点。

文件系统的存储类型

索引的存储类型有几种,可以使用index.store.type: niofs进行配置,在创建索引的时候也可以动态指定。

               simple fs对应Lucene中的SimpleFsDirectory 这种实现的并发性能较差,多线程会出现瓶颈。当索引需要持久化最好使用niofs

               nio fs对应Lucene中的NIOFSDirectory。这种方式可以多个线程并发地读同一个文件。

               mmapfs:对应Lucene中MMapDirectory。这种方式将映射的文件加载到虚拟地址空间。在使用该类型之前,请确定是否有足够的虚拟内存。在linux环境下可以使用一下命令进行调整:

 

[java] view plaincopy
 
  1. sysctl -w vm.max_map_count=262144  

希望永久生效可以使用在/etc/sysctl.conf中配置vm.max_map_count

 

      hybrid mmap / nio fs默认类型,这种方式使用以上两种方式,为了减少对系统的影响,目前Lucene只在term directory和doc values文件映射到内存中。其他的情况都是用Lucene的NIOFSDirectory。

              memory:对应Lucene中的RamIndexStore。将索引存放在Jvm堆空间之外内存中。

 

【参考】http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-store.html

 

 

from http://blog.csdn.net/changong28/article/details/38406261

分享到:
评论

相关推荐

    Elasticsearch 技术解析与实战.zip

    前言 第1章 Elasticsearch入门 1 1.1 Elasticsearch是什么 1 1.1.1 Elasticsearch的历史 2 1.1.2 相关产品 3 1.2 全文搜索 3 1.2.1 Lucene介绍 4 1.2.2 Lucene倒排索引 4 1.3 基础知识 6 1.3.1 Elasticsearch术语及...

    store-js:结合hazelcast和elasticsearch的存储层的commonjs实现

    在`store-js`项目中,Elasticsearch可能是作为持久化存储层来使用,对Hazelcast中的数据进行索引和查询,提供强大的搜索功能。 `store-js`通过CommonJS规范实现了模块化,这是一种在Node.js环境中广泛使用的模块...

    elasticsearch6.6.1这个是源码,另一个资源是发行包

    1. **核心模块(Core Modules)**:这是Elasticsearch的基础,包括索引、搜索、集群状态管理等功能。在源码中,`modules/`目录包含了这些核心组件,如`analysis/`负责文本分析,`mapper/`处理字段映射,`transport/`...

    芒果TV ELK日志系统实践 -刘波涛

    本文将详细介绍芒果TV在ELK(Elasticsearch、Logstash、Kibana)日志系统实践中的经验与心得,特别是针对日志收集、存储、分析等环节的关键技术和优化策略。 #### 二、背景介绍 在2015年10月17日举办的ES国内...

    hibernate-search-4.5.2.Final-dist.tar.gz

    1. **分布式索引**:利用Lucene的分布式索引库,如Solr或Elasticsearch,实现大规模数据的高效检索。 2. **性能调优**:通过调整索引策略、缓存配置、分析器设置等,提升搜索性能。 3. **实时索引**:结合...

    【设计】数据中台之结构化大数据存储设计.docx

    - **搜索引擎**:如Elasticsearch,提供高效检索和全文搜索功能。 - **队列服务**:如Kafka、RabbitMQ,实现数据异步处理,保障系统的稳定性和效率。 - **非结构化大数据保存**:如对象存储OSS,用于存储图片、...

    lucene-初级学习资料.ppt

    Lucene 是一个强大的全文搜索引擎库,它是用 Java 编写的开放源代码...同时,了解其他相关技术,如 Solr 和 Elasticsearch 这样的基于 Lucene 的全文搜索引擎平台,能帮助你更好地运用 Lucene 并解决更复杂的搜索问题。

    Lucene实例

    此外,还可以结合其他Apache组件如Solr或Elasticsearch来构建大规模的搜索应用。 在实际项目中,你可能需要处理文件的批量索引、更新和删除操作,以及性能优化等问题。例如,使用`BulkIndexer`可以加速大量文档的...

    lucene 例子

    例如,Elasticsearch是一个基于Lucene的企业级搜索平台,它在Lucene的基础上提供了更高级的API和集群管理功能。而Solr则是另一个流行的搜索引擎,它在Lucene之上提供了丰富的配置选项和更易用的Web界面。 总结来说...

    lucene.net:svn存储库中的实际源代码-apache source code

    2. **Elasticsearch.NET**:针对流行的分布式搜索引擎Elasticsearch的.NET客户端,提供了丰富的API和高级特性。 通过深入研究和理解Lucene.Net的源代码,开发者不仅可以掌握搜索引擎的基本原理,还能根据具体需求对...

    小的网络购物商城

    这需要实现关键词匹配、模糊搜索、排序等功能,可能需要用到全文搜索引擎如Elasticsearch。 10. **安全性**:商城系统必须重视网络安全,包括防止SQL注入、XSS攻击、CSRF攻击等,同时要遵循HTTPS协议,保证数据传输...

    中级程序员必备面试题.txt

    - **营销场景**:使用Elasticsearch进行实时数据分析。 - **订单场景**:利用HBase存储海量订单数据。 #### 深拷贝与浅拷贝 - **浅拷贝**:复制对象的基本类型属性,对引用类型的属性只复制引用地址。 - **深拷贝*...

    海康威视(15问).pdf

    4. **项目如何管理模块**:模块化开发是将一个复杂的系统拆分成多个模块,每个模块负责一部分功能。前端项目中通常使用模块化的方法来管理各个功能模块,如ES6的import/export语句、CommonJS的require()函数等。 5....

Global site tag (gtag.js) - Google Analytics