elasticsearch中常用的API

时间:2022-12-17 15:28:03

 elasticsearch中常用的API分类如下:

  • 文档API: 提供对文档的增删改查操作

  • 搜索API: 提供对文档进行某个字段的查询

  • 索引API: 提供对索引进行操作,查看索引信息等

  • 查看API: 按照更直观的形式返回数据,更适用于控制台请求展示

  • 集群API: 对集群进行查看和操作的API

  下面简单的一一介绍记录一下。

  文档类API

  Index API: 创建并建立索引

  PUT twitter/tweet/1{ "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch"}

  官方文档参考:Index API

  Get API: 获取文档

  curl -XGET 'http://localhost:9200/twitter/tweet/1'

  官方文档参考:Get API

  DELETE API: 删除文档

  $ curl -XDELETE 'http://localhost:9200/twitter/tweet/1'

  官方文档参考:Delete API

  UPDATE API: 更新文档

  PUT test/type1/1{ "counter" : 1, "tags" : ["red"]}

  官方文档参考:Update API

  Multi Get API: 一次批量获取文档

  curl 'localhost:9200/_mget' -d '{ "docs" : [{ "_index" : "test", "_type" : "type", "_id" : "1" }, { "_index" : "test", "_type" : "type", "_id" : "2" } ]}'

  官方文档参考:Multi Get API

  Bulk API: 批量操作,批量操作中可以执行增删改查

  $ curl -s -XPOST localhost:9200/_bulk --data-binary "@requests"; echo{"took":7, "errors": false, "items": [{"index":{"_index":"test","_type":"type1","_id":"1","_version":1,"result":"created","forced_refresh":false}}]}

  官方文档参考:Bulk API

  DELETE By Query API: 根据查询删除

  POST twitter/_delete_by_query{ "query": { "match": { "message": "some message" } }}

  官方文档参考:Delete By Query API

  Update By Query API: 根据查询更新

  POST twitter/_update_by_query?conflicts=proceed

  官方文档参考:Update By Query API

  Reindex API:重建索引

  POST _reindex{ "source": { "index": "twitter" }, "dest": { "index": "new_twitter" }}

  官方文档参考:Reindex API

  Term Vectors: 词组分析,只能针对一个文档

  curl -XGET 'http://localhost:9200/twitter/tweet/1/_termvectors?pretty=true'

  官方文档参考:Term Vectors

  Multi termvectors API: 多个文档的词组分析

  curl 'localhost:9200/_mtermvectors' -d '{ "docs": [{ "_index": "testidx", "_type": "test", "_id": "2", "term_statistics": true }, { "_index": "testidx", "_type": "test", "_id": "1", "fields": ["text" ] } ]}'

  官方文档参考:Multi termvectors API。 更多关于文档类API请参考:Document APIs

  搜索类API

  URI Search:url中传参

  GET twitter/tweet/_search?q=user:kimchy

  官方文档参考:URI Search

  Request Body搜索接口: 搜索的条件在请求的body中

  GET /twitter/tweet/_search{ "query" : { "term" : { "user" : "kimchy" } }}

  官方文档参考:Request Body Search

  • 搜索模版设置接口: 可以设置搜索的模版,模版的功能是可以根据不同的传入参数,进行不同的实际搜索

  • 搜索分片查询接口: 查询这个搜索会使用到哪个索引和分片

  • Suggest接口: 搜索建议接口,输入一个词,根据某个字段,返回搜索建议。

  • 批量搜索接口: 把批量请求放在一个文件中,批量搜索接口读取这个文件,进行搜索查询

  • Count接口: 只返回符合搜索的文档个数

  • 文档存在接口: 判断是否有符合搜索的文档存在

  • 验证接口: 判断某个搜索请求是否合法,不合法返回错误信息

  • 解释接口: 使用这个接口能返回某个文档是否符合某个查询,为什么符合等信息

  • 抽出器接口: 简单来说,可以用这个接口指定某个文档符合某个搜索,事先未文档建立对应搜索

  官方文档参考:Search APIS

  索引类API

  • 创建索引接口(POST my_index)

  • 删除索引接口(DELETE my_index)

  • 获取索引信息接口(GET my_index)

  • 索引是否存在接口(HEAD my_index)

  • 打开/关闭索引接口(my_index/_close, my_index/_open)

  • 设置索引映射接口(PUT my_index/_mapping)

  • 获取索引映射接口(GET my_index/_mapping)

  • 获取字段映射接口(GET my_index/_mapping/field/my_field)

  • 类型是否存在接口(HEAD my_index/my_type)

  • 删除映射接口(DELTE my_index/_mapping/my_type)

  • 索引别名接口(_aliases)

  • 更新索引设置接口(PUT my_index/_settings)

  • 获取索引设置接口(GET my_index/_settings)

  • 分析接口(_analyze): 分析某个字段是如何建立索引的

  • 建立索引模版接口(_template): 为索引建立模版,以后新创建的索引都可以按照这个模版进行初始化

  • 预热接口(_warmer): 某些查询可以事先预热,这样预热后的数据存放在内存中,增加后续查询效率

  • 状态接口(_status): 索引状态

  • 批量索引状态接口(_stats): 批量查询索引状态

  • 分片信息接口(_segments): 提供分片信息级别的信息

  • 索引恢复接口(_recovery): 进行索引恢复操作

  • 清除缓存接口(_cache/clear): 清除所有的缓存

  • 输出接口(_flush)

  • 刷新接口(_refresh)

  • 优化接口(_optimize): 对索引进行优化

  • 升级接口(_upgrade): 这里的升级指的是把索引升级到lucence的最新格式

  官方文档参考:Indices APIS

  查看类API

  • 查看别名接口(_cat/aliases): 查看索引别名

  • 查看分配资源接口(_cat/allocation)

  • 查看文档个数接口(_cat/count)

  • 查看字段分配情况接口(_cat/fielddata)

  • 查看健康状态接口(_cat/health)

  • 查看索引信息接口(_cat/indices)

  • 查看master信息接口(_cat/master)

  • 查看nodes信息接口(_cat/nodes)

  • 查看正在挂起的任务接口(_cat/pending_tasks)

  • 查看插件接口(_cat/plugins)

  • 查看修复状态接口(_cat/recovery)

  • 查看线城池接口(_cat/thread_pool)

  • 查看分片信息接口(_cat/shards)

  • 查看lucence的段信息接口(_cat/segments)

  官方文档参考:Cat APIS

  集群类API

  • 查看集群健康状态接口(_cluster/health)

  • 查看集群状况接口(_cluster/state)

  • 查看集群统计信息接口(_cluster/stats)

  • 查看集群挂起的任务接口(_cluster/pending_tasks)

  • 集群重新路由操作(_cluster/reroute)

  • 更新集群设置(_cluster/settings)

  • 节点状态(_nodes/stats)

  • 节点信息(_nodes)

  • 节点的热线程(_nodes/hot_threads)

  • 关闭节点(/nodes/_master/_shutdown)

  官方文档参考:Cluster APIS。 尽在:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

elasticsearch中常用的API的更多相关文章

  1. Java中常用的API(一)——Object

    概述 如果要问Java为什么是用起来非常舒服的语言,那很大一部分的功劳就是JavaAPI的.API定义了许多封装好的类和方法供我们使用,来处理特定的问题,所以学习常用的API是非常重要的. 同时,面向 ...

  2. Java中常用的API(四)——其他

    前面说三篇文章分别介绍了Object.String.字符缓冲类的API,接下来我们简要介绍一下其他常用的API. 1.System System类用于获取各种系统信息,最为常用的是: System.o ...

  3. Java中常用的API(二)——String

    在第一节中我们介绍了Object类的方法以及操作,那么这一节,我们将介绍一个新的类:String. String类是我们经常使用的类,应用十分广泛.同时,String类中封装了一系列的方法,非常常用, ...

  4. Java中常用的API(三)——缓冲区字符串

    前两节中分别介绍了Object和String,这一节主要介绍StringBuffer和StringBuilder. StringBuffer 由于String是不可变的,所以导致String对象泛滥, ...

  5. ElasticSearch中辅助API常用用法详解

    本篇是使用Elasticsearch必不可少的必备知识,并且适用于所有的Rest Api. 返回数据格式化 当在Rest请求后面添加?pretty时,结果会以Json格式化的方式显示.另外,如果添加? ...

  6. elasticsearch中的API

    elasticsearch中的API es中的API按照大类分为下面几种: 文档API: 提供对文档的增删改查操作 搜索API: 提供对文档进行某个字段的查询 索引API: 提供对索引进行操作 查看A ...

  7. 使用Word API打开Word文档 ASP.NET编程中常用到的27个函数集

    使用Word API(非Openxml)打开Word文档简单示例(必须安装Word) 首先需要引入参照Microsoft.Office.Interop.Word 代码示例如下: public void ...

  8. JavaWeb学习之JDBC API中常用的接口和类

    JDBC API中包含四个常用的接口和一个类分别是: 1.Connection接口 2.Statement接口 3.PreparedStatement接口 4.ResultSet接口 5.Driver ...

  9. 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数.

    一丶内核中的数据类型 在内核中.程序的编写不能简单的用基本数据类型了. 因为操作系统不同.很有可能造成数据类型的长度不一.而产生重大问题.所以在内核中. 数据类型都一定重定义了. 数据类型 重定义数据 ...

随机推荐

  1. IO口

    STM32的每个IO端口都有7个寄存器来控制.他们是:CRH CRL IDR ODR BSRR BRR LCKR.我们常用的IO端口寄存器位CRL CRH IDR ODR.CRL CRH控制着每个IO ...

  2. 母版页的 page_load事件执行两次

    定义了一个母版页 Admin.master  部分代码如下 <body onload="LoadHight()"> <div> <!--公共的头部开始 ...

  3. 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加&vert;删除&vert;修改的记录数

    开篇语 在这篇日志中 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架 我介绍到了包级别的日志管理框架,那么这个主要是针对包这一个层级的 Log 信息,包括包开始执行和结束时间,以 ...

  4. JS手动触发事件,转载

    1. createEvent(eventType)参数:eventType 共5种类型:    Events :包括所有的事件.           HTMLEvents:包括 'abort', 'b ...

  5. Asp&period;Net实现WebApi跨域 (非MVC)

    目前WebApi在使用上大部分都是跟MVC组合的,而且使用起来也确实十分便利. 但有时候我们也需要在WebForm中使用WebApi,二者还是有一定区别的. 首先看下结构  ①ApiControlle ...

  6. wp8&period;1 Study1: 页面导航&amp&semi;页面间值传递

    摘要:wp8.1与wp8中很多API是不一样了,wp8.1把以前wp7.x时的api去掉了,更多与win8.1的API相似.比如以下的页面导航和页面之间的值传递 1.页面导航 利用Frame.Navi ...

  7. OAuth 2&period;0

    国外 OAuth2.0 大全:http://oauth.net/2/ 国内经典:http://www.fising.cn/2011/03/%E4%B8%80%E6%AD%A5%E4%B8%80%E6% ...

  8. 用jQuery写了一个模态框插件

    用jQuery写了一个模态框插件 大家觉得下面的框框好看么, 水印可以去掉(这个任务交给你们了(- o -)~zZ); "info"框 $("div").con ...

  9. 基于FPGA的有限状态机浅析

    前言:状态机大法好,状态机几乎可以实现一切时序逻辑电路. 有限状态机(Finite State Machine, FSM),根据状态机的输出是否与输入有关,可分为Moore型状态机和Mealy型状态机 ...

  10. event&period;currentTarget和event&period;target的区别

    currentTarget始终是监听事件者,而target是事件的真正发出者.