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

相关推荐
名不经传的养虾人11 分钟前
从0到1:企业级AI项目迭代日记 Vol.117|学会忘记,学会证明,学会设边界
大数据·人工智能·算法·企业ai·多agent协作
百胜软件@百胜软件14 分钟前
百胜软件亮相华为全联接大会2026,共赴零售AI新生态
大数据·人工智能
骑士雄师24 分钟前
rag的具体案例:通过es在意图识别的时候进行个命中。
大数据·elasticsearch·搜索引擎
柏慧通云报餐1 小时前
智慧食堂食材溯源数字化方案|采购 - 入库 - 餐桌全链路记录体系落地实践
大数据·运维·人工智能
QEasycloud1 小时前
平台补贴的会计处理:总额法 vs 净额法的判定与对账影响
大数据·人工智能
用户3610588626121 小时前
Flink 窗口聚合函数详解及代码实现:从 ReduceFunction 到增量聚合 + ProcessWindowFunction 组合
大数据·flink
域智盾-终端安全管理1 小时前
文档加密系统到底多少钱?怎么收费的?
大数据·加密软件多少钱
挖掘狂人2 小时前
AI工具选型误区:别再迷信海外模型,国产工具已完成场景反超
大数据·人工智能·ai编程
梦想画家2 小时前
SQLMesh 配置:为什么值得用 Python,而不是 YAML
大数据·数据开发·sqlmesh
vx_Biye_Design2 小时前
flask学生课程笔记共享系统29026-计算机课程设计、毕业设计
java·javascript·spring boot·后端·elasticsearch·flask·课程设计