使用场景
日志分析、时序分析、全文检索,大数据的一些聚合查询
基本原理
底层 Lucene 高效的信息检索,利用倒排索引,存储使用LSM数据模型
ES 读
Elasticsearch查询的时候需要查询所有Shard
ES 写
内存模型
FST 倒排索引 占据了绝大部分堆内内存(优化到堆外存储)
题外话
Lucene 没有更新的概念。ES 并不适合高频率更新文档操作,会导致效率极低。
插入数据如果带ID,也会导致类UPDATE操作,效率降低至少1倍。
各类资料
各个版本基本描述文档:
https://www.elastic.co/guide/en/elasticsearch/reference/6.5/getting-started.html
文档汇总:
https://www.elastic.co/guide/index.html
官方中文:
https://www.elastic.co/guide/cn/index.html
JavaAPI
https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html
JAVA 客户端API
https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.5/java-rest-high-put-template.html
底层进阶:
https://cloud.tencent.com/developer/article/1626250
https://cloud.tencent.com/developer/column/2428
日常阅读:
https://elasticsearch.cn/article/
plugin 模式开发
https://www.cnblogs.com/wangnanhui/articles/10413066.html
https://github.com/wangnanhui/elastic-plugin-test