elasticsearch中常用的API
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的更多相关文章
- Java中常用的API(一)——Object
概述 如果要问Java为什么是用起来非常舒服的语言,那很大一部分的功劳就是JavaAPI的.API定义了许多封装好的类和方法供我们使用,来处理特定的问题,所以学习常用的API是非常重要的. 同时,面向 ...
- Java中常用的API(四)——其他
前面说三篇文章分别介绍了Object.String.字符缓冲类的API,接下来我们简要介绍一下其他常用的API. 1.System System类用于获取各种系统信息,最为常用的是: System.o ...
- Java中常用的API(二)——String
在第一节中我们介绍了Object类的方法以及操作,那么这一节,我们将介绍一个新的类:String. String类是我们经常使用的类,应用十分广泛.同时,String类中封装了一系列的方法,非常常用, ...
- Java中常用的API(三)——缓冲区字符串
前两节中分别介绍了Object和String,这一节主要介绍StringBuffer和StringBuilder. StringBuffer 由于String是不可变的,所以导致String对象泛滥, ...
- 如何在Elasticsearch中使用pipeline API来对事件进行处理
一个processor就像是Logstash里的一个filter pipeline是一组processor
- ElasticSearch中辅助API常用用法详解
本篇是使用Elasticsearch必不可少的必备知识,并且适用于所有的Rest Api. 返回数据格式化 当在Rest请求后面添加?pretty时,结果会以Json格式化的方式显示.另外,如果添加? ...
- elasticsearch中的API
elasticsearch中的API es中的API按照大类分为下面几种: 文档API: 提供对文档的增删改查操作 搜索API: 提供对文档进行某个字段的查询 索引API: 提供对索引进行操作 查看A ...
- 使用Word API打开Word文档 ASP.NET编程中常用到的27个函数集
使用Word API(非Openxml)打开Word文档简单示例(必须安装Word) 首先需要引入参照Microsoft.Office.Interop.Word 代码示例如下: public void ...
- JavaWeb学习之JDBC API中常用的接口和类
JDBC API中包含四个常用的接口和一个类分别是: 1.Connection接口 2.Statement接口 3.PreparedStatement接口 4.ResultSet接口 5.Driver ...
随机推荐
- LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级
LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一 ...
- android模拟器没法通过localhost访问本地服务器的解决
当android项目访问在一台服务器上的WEB服务时,没法通过localhost或者127.0.0.1来访问.模拟器把它自己作为了localhost,代码中使用localhost或者127.0.0.1 ...
- [zz] 海洋环境的光能传递
source: http://cgangs.com/article/2557?source=weibo 就我们的目的来说,海洋环境仅由四部分组成:水表.空气.阳光和水表以下部分.在本节中,我们在数学和 ...
- 黄聪:GeckoWebBrowser多窗口独立cookie
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- OAF_开发系列01_实现OAF资料主从关系Master-Detail联动(案例)
2014-06-02 Created By BaoXinjian
- 说说Web.Config与App.Config
说到web.config和app.config大家都很熟悉,我们都叫他们配置文件,平时用的多,注意的少.两个有啥区别呢,很简单,一句话:如果是web程序,如webform项目类型和mvc项目类型就是w ...
- GDB 调试 一些命令
1. gdb查看指定地址的内存地址的值:examine 简写 x-----使用gdb> help x 来查看使用方式 x/ (n,f,u为可选参数)n: 需要显示的内存单元个数,也就是从 ...
- java 内存回收(GC)的方式
java内存的管理其实就是对象内存的管理,其中包括对象的分配和释放 对应程序员来说分配对象使用new关键字,而释放一个对象只需要让它等于null,让程序不能再访问这个对象,这时对象是不可达的,GC负责 ...
- 【转载】windows平台安装nodejs过程
第一步 下载nodejs 访问https://nodejs.org/en/download/url 根据您的系统是32位或64位,按照文字说明进行下载 第二步 安装nodejs 双击运行nodejs的 ...
- windows下CMake使用图文手册 Part 1
维基百科介绍“CMake是个开源的跨平台自动化建构系统,它用配置文件控制建构过程(build process)的方式和Unix的Make相似,只是CMake的配置文件取名为CMakeLists.txt ...