1. 通过定义keyword 的 "null_value" :"NULL",使得搜索是不用单独使用exists查询。统一用terms查询就能查询到想要的结果

  2. 利用constantScore和filter查询,跳过算分的步骤,提高性能

  3. 设置"index" :false 对于不用作为查询条件的字段,增加写的性能

  4. 设置"enable":false,对于不需要检索,排序和聚合的字段

  5. 设置 "norms":false,对于不需要算分的字段

  6. 设置"doc_values" :false 对于不用排序和聚合的字段,增加写的性能

  7. 设置聚合的keyword字段,"eager_global_ordinals": true,能够将写入的文档添加到缓存中,增加聚合搜索的性能

  8. 为索引增加"_meta"信息,用于识别mapping 的版本,便于管理mapping

  9. 查看分片的大小信息,如果每个分片大于20GB,需要扩充主分片数量

  10. 单个节点数据控制在2TB以内,最大不超过5TB

    • 每个节点每GB堆内存,建议最多20个分片,每个分片控制数据在20-40GB内

    • 8GB内存,数据量控制在8*20GB*30G = 4.8TB

    • 根据分片确定节点内存大小:给每个字段预留1kb堆空间

    分片数 * 所有字段数 * 1kb + 0.5GB(开销空间:索引、搜索、聚合)= 最终单节点ES堆空间大小

  11. 对于搜索类的项目,内存和存储数据比例1:16

  12. 有复杂的查询和聚合,建议设置coordinating节点

  13. 为避免分片分布不均的问题,要提前监控磁盘空间,提前清理数据或增加节点(70%)

  14. 使用es自动生成文档的ID,提高refresh interval的时间,默认为1s

  15. 控制分词的级别,使用index_options控制。docs、freqs、positions、offsets

elastic优化的更多相关文章

  1. 分布式搜索引擎Elasticsearch性能优化与配置

    1.内存优化 在bin/elasticsearch.in.sh中进行配置 修改配置项为尽量大的内存: ES_MIN_MEM=8g ES_MAX_MEM=8g 两者最好改成一样的,否则容易引发长时间GC ...

  2. 携程App的网络性能优化实践

    首先介绍一下携程App的网络服务架构.由于携程业务众多,开发资源导致无法全部使用Native来实现业务逻辑,因此有相当一部分频道基于Hybrid实现.网络通讯属于基础&业务框架层中基础设施的一 ...

  3. 亿级规模的Elasticsearch优化实战

    Elasticsearch 的基本信息大致如图所示,这里就不具体介绍了. 本次分享主要包含两个方面的实战经验:索引性能和查询性能. 一. 索引性能(Index Performance) 首先要考虑的是 ...

  4. Heka–>Elasticsearch 索引数据过程的优化

    Heka 的参数配置跟Elasticsearch的参数没有关系,Heka只负责按照配置发送数据,所以索引的优化主要在 Elaticsearch端来完成. 下面是Elasticsearch的一些相关概念 ...

  5. elasticsearch 性能优化

    #系统默认的最大打开文件数的限制 vi /etc/security/limits.conf   *     -       nproc          50240    *     -       ...

  6. ES 18 - (底层原理) Elasticsearch写入索引数据的过程 以及优化写入过程

    目录 1 Lucene操作document的流程 1.1 添加document的流程 1.2 删除document的流程 2 优化写入流程 - 实现近实时搜索 2.1 流程的改进思路 2.2 设置re ...

  7. ES 集群上,业务单点如何优化升级?

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! ES 基础 ES 集群 ES 集群上业务优化 一.ES 基础 ...

  8. Elastic Stack-Elasticsearch使用介绍(五)

    一.前言     前4篇将Elasticsearch用法的API和原理方面东西介绍了一下,相信大家对Elasticsearch有了一定的认知,接下我们主要从索引的建立到后期的一些优化做一些介绍: 二. ...

  9. ElasticSearch CPU和内存占用高的优化记录

    公司最近使用ElasticSearch作为数据报表汇总引擎.上线三个月累计数据800万,但是今天突然大面积出现查询超时,上服务器查看服务运行情况,发现cpu使用率高达300% mem 使用率也到了90 ...

  10. ES优化

    1.内存优化 在bin/elasticsearch.in.sh中进行配置 修改配置项为尽量大的内存: 1 2 ES_MIN_MEM=8g ES_MAX_MEM=8g 两者最好改成一样的,否则容易引发长 ...

随机推荐

  1. 从 5s 到 0.5s!CompletableFuture 异步任务优化技巧,确实优雅!

    一个接口可能需要调用 N 个其他服务的接口,这在项目开发中还是挺常见的.举个例子:用户请求获取订单信息,可能需要调用用户信息.商品详情.物流信息.商品推荐等接口,最后再汇总数据统一返回. 如果是串行( ...

  2. Linux 用户及用户组相关文件、命令详解

    Linux 用户及用户组相关文件.命令详解 1. 用户.用户组概念及其文件结构详解 ​ Linux用户只有两个等级:root及非root.Linux中还有一部分用户,如:apache.mysql.no ...

  3. 聊聊 QianKun JS 沙箱的那些事

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:空山 什么是沙箱 沙箱即 SandBox,它是一种安全机制 ...

  4. Redis系列之——主从复制原理与优化、缓存的使用和优化

    @ 目录 一 什么是主从复制 1.1 原理 1.2 主库是否要开启持久化 1.3 辅助配置(主从数据一致性配置) 二 复制的 配置 2.1 slave 命令 2.2 配置文件 四 故障处理 五 复制常 ...

  5. tiptopGP5.2链接所有表或报不存在函数处理

    修改交易的表时需要特别注意,改完要关联所有有关的表r.rb.rb pja_file 当链接提示不存在的函数调用,又无法确定具体是那个关联程序时, 可以在本函数内先定义这个报错的函数,重新链接时,系统会 ...

  6. Python3中的printable

    import string characters = string.printable # printable 是用作字符串常量的预初始化字符串.里面包含所有的标点符号,数字 print(charac ...

  7. [第五空间 2021]yet_another_mysql_injection

    随便输入进去,发现只有账号是admin可以进入 使用弱密码admin admin,报错为hacker 就没啥办法了,想着F12看一下源码 发现有一个source,打开看看 可以发现username是固 ...

  8. 【XXE实战】——浅看两道CTF题

    [XXE实战]--浅看两道CTF题 上一条帖子[XXE漏洞]原理及实践演示对XXE的一些原理进行了浅析,于是写了两道CTF题巩固一下,顺便也记录一下第一次写出来CTF.两道题都是在BUU上找的:[NC ...

  9. 最新 2023.2 版本 WebStorm 永久破解教程,WebStorm 破解补丁永久激活(亲测有效)

    最近 jetbrains 官方发布了 2023.2 版本的 IDEA,之前的激活方法并不支持这个新的版本. 下面是最新的激活教程,激活步骤和之前是类似的,只是换用了不同的补丁文件. 本教程支持 Jet ...

  10. webview是什么?作用是什么?和浏览器有什么关系?

    Webview 是一个基于webkit的引擎,可以解析DOM 元素,展示html页面的控件,它和浏览器展示页面的原理是相同的,所以可以把它当做浏览器看待.(chrome浏览器也是基于webkit引擎开 ...