elasticsearch中的API

elasticsearch中的API

es中的API按照大类分为下面几种:

  • 文档API: 提供对文档的增删改查操作
  • 搜索API: 提供对文档进行某个字段的查询
  • 索引API: 提供对索引进行操作
  • 查看API: 按照更直观的形式返回数据,更适用于控制台请求展示
  • 集群API: 对集群进行查看和操作的API

文档API

  • Index API: 创建并建立索引
  • Get API: 获取文档
  • DELETE API: 删除文档
  • UPDATE API: 更新文档
  • Multi Get API: 一次批量获取文档
  • Bulk API: 批量操作,批量操作中可以执行增删改查
  • DELETE By Query API: 根据查询删除
  • Term Vectors: 词组分析,只能针对一个文档
  • Multi termvectors API: 多个文档的词组分析

multiGet的时候内部的行为是将一个请求分为多个,到不同的node中进行请求,再将结果合并起来。
如果某个node的请求查询失败了,那么这个请求仍然会返回数据,只是返回的数据只有请求成功的节点的查询数据集合。

词组分析的功能能查出比如某个文档中的某个字段被索引分词的情况。

对应的接口说明和例子

搜索API

  • 基本搜索接口: 搜索的条件在url中
  • DSL搜索接口: 搜索的条件在请求的body中
  • 搜索模版设置接口: 可以设置搜索的模版,模版的功能是可以根据不同的传入参数,进行不同的实际搜索
  • 搜索分片查询接口: 查询这个搜索会使用到哪个索引和分片
  • Suggest接口: 搜索建议接口,输入一个词,根据某个字段,返回搜索建议。
  • 批量搜索接口: 把批量请求放在一个文件中,批量搜索接口读取这个文件,进行搜索查询
  • Count接口: 只返回符合搜索的文档个数
  • 文档存在接口: 判断是否有符合搜索的文档存在
  • 验证接口: 判断某个搜索请求是否合法,不合法返回错误信息
  • 解释接口: 使用这个接口能返回某个文档是否符合某个查询,为什么符合等信息
  • 抽出器接口: 简单来说,可以用这个接口指定某个文档符合某个搜索,事先未文档建立对应搜索

对应的接口说明和例子

索引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的最新格式

对应的接口说明和例子

查看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)

对应的接口说明和例子

集群API

  • 查看集群健康状态接口(_cluster/health)
  • 查看集群状况接口(_cluster/state)
  • 查看集群统计信息接口(_cluster/stats)
  • 查看集群挂起的任务接口(_cluster/pending_tasks)
  • 集群重新路由操作(_cluster/reroute)
  • 更新集群设置(_cluster/settings)
  • 节点状态(_nodes/stats)
  • 节点信息(_nodes)
  • 节点的热线程(_nodes/hot_threads)
  • 关闭节点(\nodes/_master/_shutdown)
时间: 2024-08-01 11:15:37

elasticsearch中的API的相关文章

Elasticsearch上手——Python API的简单使用

Python够直接,从它开始是个不错的选择. Elasticsearch客户端列表:https://www.elastic.co/guide/en/elasticsearch/client/index.html Python API:https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html 参考文档:http://elasticsearch-py.readthedocs.io/en/mas

Elasticsearch使用REST API实现全文检索

通过rest api添加检索数据,阅读官方文档可以发现,elasticsearch支持动态映射,但是其中有不少问题,且听慢慢详解. 本文主要讲述三点内容: 1 Elasticsearch常用的rest api 2 Elasticsearch使用bulk命令添加索引数据 ES REST API elasticsearch支持通过http请求响应服务,因此通过curl命令,可以发送http请求,并得到json返回内容. 常用的rest请求包括: 检查ES集群状态: curl localhost:92

如何在Elasticsearch中安装中文分词器(IK+pinyin)

如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. 这是因为使用了Elasticsearch中默认的标准分词器,这个分词器在处理中文的时候会把中文单词切分成一个一个的汉字,因此引入中文的分词器就能解决这个问题. 本篇文章按照下面的内容进行描述: 分词器的作用 安装IK 简单的测试 模拟测试 安装elasticsearch-analysis-piny

在.NET中使用API的方法

在.NET中使用API的方法www.yescnet.com CNET中文网 可能说VB.NET是一个令人恨又令爱的编程软件,新版的.NET不像VB6那样多的支持API调用,好不容易在MSDN中找到的使用API的方法,代码如下:[Visual Basic] SetLastError := True, CharSet := CharSet.Unicode, _ExactSpelling := True, _CallingConvention := CallingConvention.StdCall)

在Visual C#中运用API函数获取系统信息

visual|函数 API函数是构筑Windows应用程序的基石,是Windows编程的必备利器.每一种Windows应用程序开发工具都提供了间接或直接调用了Windows API函数的方法,或者是调用Windows API函数的接口,也就是说具备调用动态连接库的能力.Visual C#和其它开发工具一样也能够调用动态链接库的API函数.本文中笔者就结合实例向大家介绍在Visual C#中如何调用各种返回值的API,该实例就是一个通过API函数调用获取系统信息的程序. 在Visual C#中调用

C# 中操作API

作为初学者来说,在C#中使用API确是一件令人头疼的问题.在使用API之间你必须知道如何在C#中使用结构.类型转换.安全/不安全代码,可控/不可控代码等许多知识. 一切从简单开始,复杂的大家一时不能接受.我们就从实现一个简单的MessageBox开始.首先打开VS.Net ,创建一个新的C#工程,并添加一个Button按钮.当这个按钮被点击,则显示一个MessageBox对话框. 即然我们需要引用外来库,所以必须导入一个Namespace: using System.Runtime.Intero

Eclipse中的API Tools:简介

了解如何使用 Eclipse 管理应用程序的 API 创建 Application Public Interface(API),尤其是管理各个版本的 API 十分困难.了解如何利用 Eclipse 的 PDE API Tools 来简化此过程,并且无缝地将其集成到日常开发中.注意,本文专门针对 Eclipse V3.4:Ganymede. 在详细介绍 Eclipse Plug-in Development Environment(PDE)内的 Application Public Interfa

如何在VC++中使用API直接打印

(说明:)这一段代码,用以演示<如何在VC++中使用API直接打印>.并且该段代码可以直接嵌入各种工程中,有实际使用的价值. (用途:)在Visual C++中,应用程序通常是使用CView中提供的打印功能,在OnPrint()或OnDraw()中向打印机输出.但是对于对话框中的数据,或基于对话框的程序,打印成了一件繁琐的工作. 该段代码向用户提供了PrintListCtrl()函数,用于打印用户在对话框或FormView中的CListCtrl(控件必须是Report View 形式的)控件中

Elasticsearch中使用reiver-jdbc导入数据

  Elastisearch中提供了river模块来从其他数据源中获取数据,该项功能以插件的形式存在,目前已有的river插件包括: river pluginsedit 1. Supported by Elasticsearch CouchDB River Plugin RabbitMQ River Plugin Twitter River Plugin Wikipedia River Plugin 2. Supported by the community ActiveMQ River Plu