ElasticSearch 5.6.3 自定义封装API接口

  1. 在实际业务中,查询 elasticsearch 时会遇到很多特殊查询,官方接口包有时不便利,特殊情况需要自定义接口,所以为了灵活使用、维护更新 编写了一套API接口,仅供学习使用

  2. 当前自定义API接口依赖 elasticsearch 5.6.3 版本,其它版本自行测试修改源码

  3. 同时为了更好的帮助读者使用,编写了一套查询文档,下载 casia-web (提取码:1234) jar 包,使用以下命令运行后,浏览器打开(http://localhost:8080/api)即可看到说明界面,注意 当前电脑环境需有 jdk 1.8 环境

    powershell 复制代码
    java -jar  casia-api-web-1.0.jar
  4. 开始使用

    (1)下载 demo 工程, casia-elasticsearch-demo ,将 lib 下的 jar 包导入你的工程加载即可

    (2)在配置文件 application 中 配置 es 地址信息,支持多数据源引用,如下图:引入 web 和 data 两个数据源,在代码中初始化 CasiaEsSearch 对象,传入 "web" 为使用 web 数据源

    (3)或者在初始化对象中直接传入es 地址

  5. 查询案例

    如下图

    (1)casiaEsApi.search() 表示注入查询条件

    (2)addSort 为排序条件

    (3)setRange 为范围条件

    (4)setQueryKeyWords 为关键词条件

    (5)executeQueryInfo 执行查询

    (6)executeQueryInfo 执行查询

    (7)OutInfo.out(searchResult); 打印输出查询结果

    (8)setAggregations 聚合条件

  6. 其余很多 API 操作接口,例如:嵌套查询、游标接续查询、地理位置聚合、矩阵计算、索引管理 等,这里不一 一叙述,读者有兴趣可自行研究

  7. 源代码也一并放出,独乐乐不如众乐乐,大家一起学习
    文章地址https://blog.csdn.net/qq_33772352

    Github :
    casia-elasticsearch
    casia-util
    casia-http

相关推荐
大大大大晴天17 小时前
Hudi技术内幕:Key Generation原理与实践
大数据
Elasticsearch20 小时前
3个信号、2个环境变量、0个采集器:使用 Python 和 Elastic 的托管 OTLP 端点实现 OpenTelemetry
elasticsearch
Elasticsearch3 天前
如何通过 Claude Code 来写入 CSV 数据到 Elasticsearch
elasticsearch
得物技术4 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子4 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
大志哥1235 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
果丁智能5 天前
物联网智能锁赋能集中式住宿:身份核验与远程权限管控的全链路技术实践
大数据·人工智能·物联网·智能家居
ApacheSeaTunnel5 天前
实战演示 | 基于 Apache SeaTunnel 与 Apache DolphinScheduler 实现 MySQL 到 Doris 离线定时增量同步
大数据·mysql·开源·doris·数据集成·seatunnel·数据同步
weixin_397574095 天前
PDF复杂表格的1:1还原引擎:跨页表格自动拼接技术实战
大数据·人工智能·pdf