- 博客(959)
- 收藏
- 关注
原创 【es】冻结索引
查询时ES会实时构建冻结索引的每个分片的瞬态数据结构。并在搜索完成时丢弃这些数据。因为偶尔存在查询的需要,这时可以使用索引冻结。被冻结后变成只读,不可写入新数据。如果集群中存在一些旧索引,不再写入数据,查询频率很低,但是不能直接关闭他们,避免了旧的数据占用缓存,影响查询性能。
2025-04-01 18:07:26
105
原创 【es】关闭索引
部分索引在业务中不需要使用但是又不能将其直接删除,这时可以使用关闭索引的操作使得索引。索引被关闭后,该索引在集群中相关的内部数据也会被销毁,这有利于减少。如果想要使用时可以重新打开。
2025-04-01 17:57:25
61
原创 【es】强制合并
一个ES索引可以有1到多个主分片,每个主分片是一个lucene 索引,一个lucene索引又包含。段的强制合并通常比较耗时,它会自动在后台进行,必要时手动触发段强制合并也是有意义的。当删除索引文档时,数据不会彻底从磁盘上删除,计算机只会对删除的文档做一个。而强制合并索引段时,会把分片内部很多零碎的小段合并成大段并去除被删除。的文档,这样做的好处是每个分片中段会减少并腾出删除文档占据的空间。
2025-04-01 17:43:15
32
原创 【es】冲洗索引
由于把数据逐条写入到外存是比较耗时的,ES使用了事务日志 translog来记录每个写入的请求信息。这个过程默认是每隔一段时间自动完成的。如果ES意外宕机,在下次启动时自动将事务日志。冲洗索引时,ES会一次性把文件系统缓存的数据写入磁盘,然后把事务日志清空。如果说刷新索引就是把数据写入内存,那么冲洗索引就是把数据写入外存。中的数据恢复到磁盘上,从而最大限度防止数据丢失。一般不需要人工冲洗,默认即可。
2025-04-01 17:24:10
64
原创 【es】刷新索引
(1)就索引请求的文档数据写入内存中缓冲区和(类似事务)日志,此时这些数据还不能被搜索到。索引经过刷新操作之后,之前的所有写入操作就能够在内存中生效,最新的数据就可以被检索到。默认情况下,ES会对过去30s内被搜索到的索引提供自动化刷新机制,刷新间隔默认是1s.(3)冲洗索引数据,把文件系统缓存中的数据写入磁盘并清空事务日志,完成数据提交。当外部数据写入索引时,数据并不会直接提交到磁盘上,因为提交数据的过程成本高昂,(2)刷新索引数据,把缓冲区的数据写入文件系统缓存,此时数据已能够被搜索到。
2025-04-01 16:57:14
32
原创 【es】清空索引
fielddata 类似表结构,每个字段的数据缓存到 fielddata 中用于高性能的排序和聚集操作。字段数据(fielddata)加缓存。1.对索引的操作有哪些?
2025-04-01 16:37:04
52
原创 【es】滚动索引
当有一个索引数据量太大时,如果继续写入数据可能会导致分片容量过大,查询时会因内存不足引起。为了避免所有的数据都写入同一个索引,可以考虑使用滚动索引。一起使用,可实现把原先写入一个索引的数据自动分发到多个索引中。3.如何让滚动索引自动滚动。1.滚动索引使用场景。
2025-04-01 16:21:34
121
原创 【es】索引的别名
一个好的解决方案就是,可以创建一个新的索引保存新的数据,然后去一个别名同时指向这两个索引,如果只有一个分片,数据量非常大,想扩容但是不行重建索引。查询时使用别名就可以同时查询两个索引的数据。8.一个索引上可以创建多个别名。4.查看别名包含那些索引。5.移除某个索引上的别名。有结果看,过滤器起作用了。2.别名的创建和删除。6.别名配置数据过滤。
2025-04-01 11:18:25
71
原创 【es】索引的路由规则
routing_partition_size > 1 时,可以让同一个routing 值的记录分散在多个分片上。而不是一个分片,该配置需要在索引的 index.routing_partition_size 中进行设置。默认情况下 _routing 的值时文档的_id 值,也就是根据主键的散列值对分片数进行取模运算,这两者时背道而驰的。需要注意:虽然手动指定路由值可以减少查询使用的分片数,但是这有可能引发大量的数据被。得到写入分片的编号。路由到少数几个分片,而其余的很多分片数据量太少,使得分片的大小不均匀。
2025-04-01 10:47:33
151
原创 【es】索引数据批量写入
2.可以在一个批量中同时使用CREATE,INDEX,UPDATE,DELETE;index 是操作类型,_id 是主键。下一行的JSON表示要添加的文档。
2025-04-01 08:55:22
44
原创 【es】使用乐观锁进行并发控制
低版本的ES使用了 _version 字段来实现乐观锁,在ES7.9.1中_version 字段已经废弃。开始用 _seq_no,_primary_term 一起实现乐观锁。修改一次 _seq_no 增加1.ES 不支持事务,无法保证写入的顺序。不支持事务隔离级别。
2025-03-31 17:52:14
295
原创 【mongodb】有索引但是查询时间特别长
截取执行计划中部分内容,发现,走了索引,但是扫描的记录太多。另外发现该集合有分片键 belong_id, 查询中没有使用分片键。由此可见,这里的性能差,原因是查询未使用分片键。1.mongodb的某个集合有索引但是查询时间长。创建携带分片的键的索引,并说明分片键。
2025-03-31 14:39:00
153
原创 【es】ES数据类型之2
2.text 类型中放置不分词field参数让文本的前一部分可以通过关键字匹配。3.布尔类型 boolean。--添加布尔类型字段。
2025-03-28 17:15:01
130
原创 【mongodb】神奇的rs.add(“ip:port“);
当执行这个命令时,会清理当前数据库中的数据,全部重新从主库拉去数据到当前节点,无需备份恢复操作。只需要执行这个命令就可以一键恢复从库。当执行这个命令时,集群会清理掉关于这个节点的信息,修改集群配置。当集群中某个节点意外不同步时,如何修复。(2)重新将提出的节点加入集群。(1)将不同步的节点踢出集群。
2025-03-27 14:54:54
102
原创 postgres:connections on Unix domain socket “/tmp/.s.PGSQL.5432“?
创建一个软连接,类似MySQL的mysql.sock 文件。用于本地socket方式连接。
2025-03-26 15:29:39
149
原创 【es】ERROR: Failed to establish SSL connection to elasticsearch at https
1.es初始化失败。
2025-03-25 17:05:15
91
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人