![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
es
小金子的夏天
不深思则不能造于道。不深思而得者,其得易失。
展开
-
es写入及查询调优
写入调优1、写入前副本数设置为 0;2、写入前关闭 refresh_interval 设置为-1,禁用刷新机制;3、写入过程中:采取 bulk 批量写入;4、写入后恢复副本数和刷新间隔;5、尽量使用自动生成的 id。查询调优1、禁用 wildcard;2、禁用批量 terms(成百上千的场景);3、充分利用倒排索引机制,能 keyword 类型尽量 keyword;4、数据量大时候,可以先基于时间敲定索引再检索;5、设置合理的路由机制。...原创 2022-02-24 17:08:27 · 1381 阅读 · 0 评论 -
es性能优化方向
1、用bulk批量写入你如果要往es里面灌入数据的话,那么根据你的业务场景来,如果你的业务场景可以支持让你将一批数据聚合起来,一次性写入es,那么就尽量采用bulk的方式,每次批量写个几百条这样子。bulk批量写入的性能比你一条一条写入大量的document的性能要好很多。但是如果要知道一个bulk请求最佳的大小,需要对单个es node的单个shard做压测。先bulk写入100个document,然后200个,400个,以此类推,每次都将bulk size加倍一次。如果bulk写入性能开始变原创 2022-02-24 17:07:33 · 648 阅读 · 0 评论 -
ES中的倒排索引是什么?
传统的检索方式是通过文章,逐个遍历找到对应关键词的位置。倒排索引,是通过分词策略,形成了词和文章的映射关系表,也称倒排表,这种词典 + 映射表即为倒排索引。其中词典中存储词元,倒排表中存储该词元在哪些文中出现的位置。有了倒排索引,就能实现 O(1) 时间复杂度的效率检索文章了,极大的提高了检索效率。加分项:倒排索引的底层实现是基于:FST(Finite State Transducer)有限状态转移器数据结构。...原创 2022-02-24 17:06:33 · 4459 阅读 · 0 评论 -
python操作es条件查询定制body
参考连接:python操作elasticsearch - 无量python - 博客园1、切片查询from elasticsearch import Elasticsearch# 建立连接es = Elasticsearch( hosts={'192.168.0.120', '192.168.0.153'}, # 地址 timeout=3600 # 超时时间)# body指定查询条件body = { 'from': 0, # 从0开始原创 2022-02-17 14:26:17 · 2215 阅读 · 0 评论 -
python操作es的demo(search/scroll/bulk)
from elasticsearch import Elasticsearchfrom elasticsearch.helpers import bulk,scanimport loggingES_CONFIG = { "hosts": ["127.0.0.1"], "http_auth": ["elasticuser", "123***4"], "sniff_on_start": False, "sniff_on_connecti..原创 2022-02-17 14:19:10 · 954 阅读 · 0 评论 -
ES索引写入性能优化
1、用bulk批量写入你如果要往es里面灌入数据的话,那么根据你的业务场景来,如果你的业务场景可以支持让你将一批数据聚合起来,一次性写入es,那么就尽量采用bulk的方式,每次批量写个几百条这样子。bulk批量写入的性能比你一条一条写入大量的document的性能要好很多。但是如果要知道一个bulk请求最佳的大小,需要对单个es node的单个shard做压测。先bulk写入100个doc...原创 2019-05-29 13:11:00 · 729 阅读 · 0 评论 -
Elasticsearch如何做到亿级数据查询毫秒级返回?
总结自:https://www.cnblogs.com/gdjk/p/10942262.html如果面试的时候碰到这样一个面试题:ES 在数据量很大的情况下(数十亿级别)如何提高查询效率?这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。...原创 2019-05-29 17:19:49 · 768 阅读 · 0 评论 -
es bulk
actions = []for ob, desc in result_dic.items(): action = { "_index": record_index, "_type": "doc", '_id': hashlib.md5( (entity.get("...原创 2019-09-18 09:40:42 · 427 阅读 · 0 评论