ElasticSearch:是一个储存、检索、数据分析引擎。
在互联网项目中我们经常会按一定的条件去索引我们指定的数据,但是在大量的数据中我们如果直接查询数据库效率是非常低的,ElasticSearch就可以很好的帮我们完成检索。
es封装了api提供给我我们直接操作:_cat
GET/_cat/nodes: 查看所有节点
GET/_cat/health: 查看 es 健康状况
GET /_cat/master: 查看主节点
GET /_cat/indices:查看所有索引 show databases
常用api:
新增:put、post
如:
查询:get
修改:put、post
删除:delete 、bulk
QueryDSL:查询领域特定语言:
如:
查询所有:match_all
匹配查询:match
短语查询:match_phrase
多字段匹配:multi_match
复合查询:bool
过滤:filter
查询:term 查询固定的值 如:age:18
聚合分析:aggregations 可以分组提取数据
映射创建:mapping
springboot整合es:Elasticsearch-Rest-Client: 官方 RestClient,封装了 ES 操作,API 层次分明,上手简单
实现步骤:
1.导入依赖
<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.4.2</version></dependency>
2.编写配置
@Configuration
public class ElasticConfig {//默认设置项 如果后期有需要在这添加就欧克public static final RequestOptions COMMON_OPTIONS;static {RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
// builder.addHeader("Authorization","Bearer " + TOKEN);COMMON_OPTIONS = builder.build();}@Beanpublic RestHighLevelClient esRestClient(){RestHighLevelClient restHighLevelClient = new RestHighLevelClient(RestClient.builder(new HttpHost("192.168.127.129",9200,"http")));return restHighLevelClient;}
}
3.注入es对象根据api操作就🆗