使用postMan或者apiPost调用ES接口案例

发布于:2025-06-29 ⋅ 阅读:(16) ⋅ 点赞:(0)

在对接 ES(Elasticsearch)接口的过程中,我遇到了一个棘手的问题:合作方虽提供了接口,但并未给出响应报文与返回结构。而我需要基于返回字段进行数据统计和页面展示,这就意味着我得先调用接口获取数据,可服务器上还未安装 Kibana

初入公司,对内部技术环境尚不熟悉,为了高效完成工作,我尝试了多种 ES 接口调用方式。其中,使用 PostMan 查询是最快速并且简洁的 —— 如今将这些调用方法汇总成篇,希望能帮助大家少走弯路。

1、浏览器安装ES插件,操作简单,但是需要前期下载插件做一些配置,好处是可以生成查询语句,查询简单

点击下面链接,之前有记录过这次就不详细些了

chrome浏览器安装elasticsearch的head可视化插件

2、使用curl命令,如果查询语句复杂则看数据结构不清晰

查询服务器已有的ES索引有那些?
curl -k https://127.0.0.1:9200/_cat/indices?v --user  admin:'8nKVyV3tU05dtfb'

--user 账户:密码

执行GET /_cat/indices?v(v参数显示表头),可能得到如下结果:
health status index      uuid                   docs.count docs.deleted store.size pri rep
green  open   my_index   abc123                 1000       0            50mb     1   1
yellow open   log_index  def456                 50000      200          200mb    3   1

health:索引健康状态。
status:索引打开状态(open)或关闭状态(close)。
store.size:索引占用的存储空间。
pri/rep:主分片数和副本分片数。
相关扩展 API
_cat/shards:查看索引分片的详细分布和状态。
_cat/master:查看集群主节点信息。
_cat/nodes:查看集群节点的资源使用情况。

,查询指定索引中uniscId字段=统一代码的数据

-- phycust为索引名称,查询指定索引中uniscId=统一代码的数据
curl -u elastic -X POST "http://127.0.0.1:9200/phycust/_search" -H 'Content-Type: application/json' -d'{"query": {"term": {"uniscId": {"value": "'统一代码'"}}}}'

关键参数说明:
-u elastic
指定使用用户名elastic进行认证(需输入密码),这是 ES 默认的超级用户。
-X POST
HTTP 请求方法为POST,适用于复杂查询。
http://127.0.0.1:9200/phycust/_search
127.0.0.1:9200:ES 服务的本地地址和端口。
phycust:目标索引名称。
_search:搜索 API 端点。
-H 'Content-Type: application/json'
指定请求体格式为 JSON。
-d '{}'
请求体内容(JSON 格式),包含具体查询条件。
查询条件解析
请求体中的 JSON 是一个term查询,功能是精准匹配文档中uniscId字段值为统一代码的记录。

term查询:属于精确匹配,不对搜索词进行分词处理。
uniscId:文档中的字段名,一般用于存储统一社会信用代码。
"统一代码":需要替换为实际的统一社会信用代码值。

3、使用apiPost/PostMan调用,最简单

获取指定索引中的所有字段名称,下图中qu-click-statistic为索引名称


获取ES已有索引

根据查询条件查询指定索引,search-click-statistic为索引名称


网站公告

今日签到

点亮在社区的每一天
去签到