ElasticSearch常用方法

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操作就🆗

相关推荐
kisy夏2 小时前
多千帆运营平台
大数据·爬虫·mysql
yyuuuzz8 小时前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
微擎应用12 小时前
智能售货柜公众号管理系统平台
大数据·人工智能
计算机安禾14 小时前
【算法分析与设计】第26篇:参数化算法与固定参数可解性理论
大数据·人工智能·算法·机器学习·剪枝
liushangzaibeijing14 小时前
Superpower 使用大纲
大数据·elasticsearch·搜索引擎
阿里云大数据AI技术14 小时前
阿里云 ES Agent Builder 使用指引
人工智能·搜索引擎
Elastic 中国社区官方博客14 小时前
每次操作一个 API 调用:Elastic Cloud Hosted 如何让大规模部署管理变得可行
大数据·运维·数据库·elasticsearch·搜索引擎·serverless
志栋智能17 小时前
超自动化安全:实现安全运营现代化的关键
大数据·运维·网络·安全·自动化
渣渣盟17 小时前
MySQL DDL操作全解析:从入门到精通,包含索引视图分区表等全操作解析
大数据·数据库·mysql
unclejet18 小时前
颠覆传统开发!AI根治软件工程技术债务顽疾
大数据·人工智能·软件工程