目录
ElasticSearch分布式搜索引擎,简称为ES。底层基于lucene,核心思想就是在多台机器上启动多个ES进程实例,组成了一个ES集群。ES中存储数据的基本单位是索引,比如要在ES中存储一些订单数据,就应该在ES中创建一个索引order_idx ,所有的订单数据都写到这个索引里面去,一个索引相当于是mysql里的一张表。
index -> type -> mapping -> document -> field
做个类比,不要划等号,类比只是为了便于理解。index相当于mysql里的一张表。而type没法跟 mysql里去对比,一个index里可以有多个type,每个type的字段都是差不多的,但是有一些略微的差别。假设有一个index,是订单index,里面专门是放订单数据的。就好比说你在mysql中建表,有些订单是实物商品的订单,比如一件衣服、一双鞋子。有些订单是虚拟商品的订单,比如游戏点卡,话费充值。就两种订单大部分字段是一样的,但是少部分字段可能有略微的一些差别。
所以就会在订单index里,建两个type,一个是实物商品订单type,一个是虚拟商品订单type,这两个type大部分字段是一样的,少部分字段是不一样的。很多情况下,一个index里可能就一个type,但是确实如果说是一个index里有多个type的情况(mapping types这个概念在 ElasticSearch7. X 已被完全移除,详细说明可以参考
本文详细介绍了Elasticsearch(ES)的核心概念和工作原理,包括ES的写入、读取和搜索数据的过程,以及底层的Lucene和倒排索引。讨论了如何通过数据预热、冷热分离、document模型设计等方法提升查询效率,并阐述了ES的生产环境部署结构和数据管理策略,如分页性能优化。
订阅专栏 解锁全文
960

被折叠的 条评论
为什么被折叠?



