ElasticSearch API介绍

🔥本文简要🔥

网络中的API是一组函数调用或其他编程指令,用于访问特定网络应用中的软件组件。例如,Facebook API帮助开发者通过从Facebook访问数据或其他功能来创建应用程序,它可以获取出生日期或更新用户状态。

ElasticSearch提供了REST风格API,可以通过URL访问JSON。ElasticSearch使用以下约定。

  • 🚌一个人可以走的很快,一群人可以走的很远🇨🇳
  • 🎉点赞评论收藏 ➕关注== 养成习惯(一键四连)📝
  • 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝
  • 🙏作者水平有限,欢迎各位大佬指点,相互学习进步!😆

一、多重索引

二、逗号分隔符号

2.1、响应

三、_all 所有索引的关键字

3.1、响应

四、通配符(*,+,–)

4.1、响应

4.2、或者可以使用以下代码

4.3、响应

五、allow_no_indices

5.1、响应 (无报错)

六、expand_wildcards

6.1、例子

6.2、响应

6.3、请看下面的代码

6.4、响应

七、结果格式化

八、人类可读的输出

九、响应信息过滤

9.1、响应


一、多重索引

API中的大多数操作,主要是针对一个或多个索引的搜索和其他操作。这有助于用户通过只执行一次查询请求,在多个地方或所有可用数据中进行搜索。许多不同的符号用于在多个索引中执行操作,我们将在这一部分讨论其中的一些。

二、逗号分隔符号

put index1
put index2
put index3

POST index1/_doc/16
{
   "name":"any_string", "description":"State Board Affiliation",
   "street":"Tonk Road",
   "city":"Jaipur", "state":"RJ", "zip":"176114","location":[26.8535922,75.7923988],
   "fees":2500, "tags":["Well equipped labs"], "rating":"4.5"
}

POST /index1,index2,index3/_search
{
  "query": {
    "query_string": {
      "query": "any_string"
    }
  }
}

2.1、响应

来自index1, index2, index3的JSON对象中包含any_string。

三、_all 所有索引的关键字

POST /_all/_search

POST /_all/_search
{
   "query":{
      "query_string":{
         "query":"any_string"
      }
   }
}

3.1、响应

来自所有索引的JSON对象,其中包含any_string。

四、通配符(*,+,–)

POST /school*/_search
{
   "query":{
      "query_string":{
         "query":"CBSE"
      }
   }
}

4.1、响应

来自所有索引的JSON对象,这些索引始于其中包含CBSE的学校。

4.2、或者可以使用以下代码

POST /school*,book_shops/_search?ignore_unavailable=true
{
   "query":{
      "query_string":{
         "query":"CBSE"
      }
   }
}

4.3、响应

无任何报错信息,忽略了不存在的索引,从所有school*开头的索引中找出包含“CBSE”的JSON对象。

五、allow_no_indices

如果没有指定通配符的索引,true值会防止引发错误。举个例子,如果没有以schools_pri开头的索引。

POST  /schools_pri*/_search?allow_no_indices=true
{
   "query":{
      "match_all":{}
   }
}

5.1、响应 (无报错)

六、expand_wildcards

此参数决定通配符是否需要扩展为开放索引或封闭索引,或者两者兼有。该参数的值可以是open和close,也可以是none和all。

6.1、例子

POST  /schools/_close

6.2、响应

{"acknowledged":true}

6.3、请看下面的代码

POST /school*/_search?expand_wildcards=closed
{
   "query":{
      "match_all":{}
   }
}

6.4、响应

{
   "error":{
      "root_cause":[{
         "type":"index_closed_exception", "reason":"closed", "index":"schools"
      }],
      "type":"index_closed_exception", "reason":"closed", "index":"schools"
   }, "status":403
}

七、结果格式化

我们可以获得格式良好的JSON对象,只需附加一个URL 查询参数,即pretty = true

POST /schools/_search?pretty=true
{
   "query":{
      "match_all":{}
   }
}

八、人类可读的输出

此选项可以将响应更改为人类可读的形式(如果human = true)或计算机可读的形式(如果human = false)。例如,如果human = true,那么 distance_kilometer = 20KM,如果human = false,那么distance_meter = 20000。

POST /schools/_search?human=true
{
   "query":{
      "match_all":{}
   }
}

九、响应信息过滤

我们可以通过添加到field_path参数中来过滤响应信息,例如

POST  /schools/_search?filter_path=hits.total
{
   "query":{
      "match_all":{}
   }
}

9.1、响应

{"hits":{"total":3}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑石课堂

请给我打钱!!!谢谢,不客气!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值