es

2022-02-17  本文已影响0人  go_2021

结构
 索引+ mapping(库结构)
  文档1,文档2。。(表)

类型
 字符,数字,布尔,日期,对象,数组,ip,经纬度。。
keyword直接建索引。
text先分词,在建立索引。
分片
 提高吞吐量,一个索引数据分散在对应分片上。
索引在创建是已经确定分片,不能动态调整。

副本
 实现高可用,可以动态调整。
写入过程
 协调节点-写入对应分片-同步到副本-返回
具体一点写入

持久化延时
 写入log后,重启就可以同步的硬盘。但是写log不是实时的,5秒一次。
参数可设置,es7是实时的。

删除和更新
 逻辑大致和写入一样,不过是del日志文件,标记要删的数据,更新是先删后添加。

大数据保证性能
 预读,如果能分辨出冷热,冷热分离,不同分片。
加内存,保证es只存需要查的数据。

分页
school做快照,缺点占内存,不会更新。有个max_result_window限制。
es3,可以用search-after,类似mysql where id> 1000;

一些命令

WechatIMG163.png

分词器
可以每个mapping字段指定。
大致分为3步,过滤-分割-转换(大小写)

上一篇 下一篇

猜你喜欢

热点阅读