简介
什么是ElasticSearch
ElasticSearch
简称 ES
,是基于Apache Lucene
构建的开源搜索引擎
,是当前最流行的企业级搜索引擎
。Lucene本身就可以被认为迄今为止性能最好的一款开源搜索引擎工具包
,但是lucene的API相对复杂,需要深厚的搜索理论。很难集成到实际的应用中去。ES是采用java语言编写,提供了简单易用的RestFul API,开发者可以使用其简单的RestFul API,开发相关的搜索功能,从而避免lucene的复杂性
。
核心概念
索引
一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个商品数据的索引,一个订单数据的索引,还有一个用户数据的索引。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。
映射
映射是定义一个文档和它所包含的字段如何被存储和索引的过程。在默认配置下,ES可以根据插入的数据自动地创建mapping,也可以手动创建mapping。 mapping中主要包括字段名、字段类型等
文档
文档是索引中存储的一条条数据。一条文档是一个可被索引的最小单元。ES中的文档采用了轻量级的JSON格式数据来表示。
基本操作
索引
- ES中的索引存在健康状态:
green
(健康)、yellow
(索引可用,存在风险)、red
(索引不可用) - 默认ES在创建索引时会为索引创建1个备份索引和一个
primary
索引
创建
1.创建索引
PUT /索引名
⚠️注意:
- 默认ES在创建索引时会为索引创建1个备份索引和一个
primary
索引 - 默认是
yellow
2.创建索引 进行索引分片的配置