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();
}
@Bean
public RestHighLevelClient esRestClient(){
RestHighLevelClient restHighLevelClient = new RestHighLevelClient(
RestClient.builder(
new HttpHost("192.168.127.129",9200,"http")
)
);
return restHighLevelClient;
}
}
3.注入es对象根据api操作就🆗