elasticsearch配置优化

节点

Elasticsearch 节点有四种 :

master and data--- 默认是这种配置,既存储数据,也可以成为master节点

only master --- 协调各个节点间均衡,如分片的移动

only data --- 只存储数据,此种节点的http.enable: false 可设置成false

No data and no master --- 既不是master,也不存储数据,承担将请求路由到相应data节点,并解析数据和对结果分组,此种节点node.client: true 可设置成true

通过以下两个属性的组合来配置这四种节点

node.data: true

node.data: true

合理的配置节点的类型是有必要的,有利于提升集群性能。

分片

分片是不可动态改变的,所以在配置集群时要合理的设置分片数,考虑数据的增长。

副本

副本可以动态更改,副本和分片会随着节点的增加或者减少而在节点间移动。这个是es集群控制的,不需要手动处理。

索引

建索引尽量使用batch模式,禁用副本,速度更快,es应配置足够的内存,一般为机器内存的一半。通过多线程加载数据并不会提高速度。

index.store.compress.stored: true 

index.store.compress.tv: true

elasticsearch.yml设置这两个属性可压缩数据文件,极大的减少文件的大小。

elasticsearch.yml 推荐设置说明

node.master: false

node.data: true

index.number_of_shards: 1

index.number_of_replicas: 0

http.enabled: false

以上属性根据需要合理配置,充分考虑数据增长,负载均衡。

path.data: /path/to/data1 此属性是存储数据文件的路径,建议不要跟elasticsearch部署文件放在一起,单独放在一个目录。

path.logs: /path/to/logs es日志文件目录,也应单独设置目录

path.plugins: /path/to/plugins 插件目录,也应单独设置目录

path.conf: /path/to/conf 配置文件目录,包含日志配置文件,也可单独设置目录

以上推荐设置可方便集群升级和数据迁移。

Query 优化

每个queryfilter都可以设置boost来调整条件占的比重从而影响结果分数。也可以在index的时候设置boost,但是如果要跳转boost就得rebuild

原文地址:https://www.cnblogs.com/jixiangxiang/p/5520877.html