中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:
Web服务器
代理服务器
ZooKeeper
Kafka
RabbitMQ
Hadoop HDFS
Elasticsearch ES (本章节)
前面我们已经完成了Elasticsearch(ES)的部署,无论是单机还是集群,最终都要向里面写入数据,写入数据就需要先对下面2个概念有一定的理解,他们分别是:索引 (Index) 和 文档 (Document)。
索引 (Index)
products
索引存放所有产品文档,一个 logs
索引存放所有日志文档。文档 (Document)
文档是 Elasticsearch 中的 基本数据单元,是你存储和搜索的实体或对象,Elasticsearch 中存储的核心数据单元(文档)本质上就是 JSON 格式的数据。数据一旦被写入成功,就不可修改。但是实际上我们是可以操作修改的(删除旧数据,创建新数据)。
唯一标识符: 每个文档在它所属的索引内都有一个唯一的 ID。这个 ID 可以是:你自己指定(比如使用业务相关的 ID,如产品 SKU、用户 ID)。由 ES自动生成(一个随机的 UUID)。
_index
: 文档所属的索引名称。_id
: 文档的唯一 ID。_source
: 存储了你当初索引文档时提供的原始 JSON 数据。这是文档的核心内容。搜索时默认返回的部分就是 _source
。你可以选择不存储它(但强烈不建议,因为很多功能依赖它)。索引 (Index) 和 文档 (Document) 的关系
customer_index
, order_index
, web_logs_index
)。