elasticsearch监控
监控:
集群健康: curl 'localhost:9200/_cat/health?v'
curl http://localhost:9200/_cluster/health?pretty
获得节集群中的节点列表: curl 'localhost:9200/_cat/nodes?v'
查看所有的索引: curl 'localhost:9200/_cat/indices?v
优化:
内存优化:
1. ES_MIN_MEM 与 ES_MAX_MEM 参数尽量设置一致,减少内存碎片被利用的概率,堆可以设置1G左右,具体调整可以根据实际机器配置。
api 使用优化:
api常用filter/query 有 term、BOOL 、AND、OR、NOT 如果可能尽量用bool ,
查询里面 分为 term、like、match等等,如果可以尽量用term匹配,如果查询用match提高匹配级别
查询里尽量针对具体索引列进行匹配,减小索引内全部遍历。
elasticsearch的索引查询主要分为query与filter 两种:query与filter的主要区别在于query会对匹配结果进行评分score,而filter只会对结果做是否匹配判断,并且会缓存结果。
所以如果是强制过滤类的操作可以直接根据fiter过滤掉,速度更快而需要对模糊的得分进行score评分,优化索引查询得分,最好做query查询