创建Index

新建Index,可以直接向Elastic服务器发送PUT请求,比如下面的命令创建了一个名为:logdb的Index。

[root@elsearchserver ~]# curl -X PUT 'http://192.168.1.40:9200/logdb'

Elastic服务器返回一个JSON对象,里面的acknowledged字段为true表示操作成功。

{
"acknowledged": true,
"shards_acknowledged": true,
"index": "logdb"
}

注意:索引名必须全部小写,且不能以下划线开头,不能包含逗号。

新增记录

向指定的/Index/Type发送POST请求,就可以在Index里面新增一条记录。比如,向/logdb/debuglog发送请求,就可以新增一条debuglog调试日志记录。如下代码:

curl -X POST 'http://192.168.1.40:9200/logdb/debuglog' -d '
{
"SystemCode": "Ubtrip",
"Source": "ApprovalService",
"Message": "数据库管理"
}'

上面的代码,向/logdb/debuglog发出了一个POST请求,添加一条记录。这时服务器返回的JSON对象里面,_id是一个随机字符串,如下代码:

{
"_index": "logdb",
"_type": "debuglog",
"_id": "qpzDUWIB9teAN1UfUbN_",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}

修改记录

修改记录就是使用PUT请求,重新向Elastic服务器发送一次数据,下面的代码中,我们将原记录的Message由“数据库管理”修改为了“数据库管理,即DBA”,请求代码如下:

http://192.168.1.40:9200/logdb/debuglog/qpzDUWIB9teAN1UfUbN_

{
"SystemCode": "Ubtrip",
"Source": "ApprovalService",
"Message": "数据库管理,即DBA"
}

服务器返回结果如下代码:

{
"_index": "logdb",
"_type": "debuglog",
"_id": "qpzDUWIB9teAN1UfUbN_",
"_version": 2,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}

从结果可以看到,以下几个字段发生了变化。

"_version": 2,
"result": "updated",

查询记录

向/Index/Type发送GET请求,就可以查询记录。例如:查询索引logdb下Type为debuglog的所有记录,请求url如下:

http://192.168.1.40:9200/logdb/debuglog/_search?pretty=true

URL参数的pretty=true表过以易读格式返回。

服务器返回结果如下:

{
"took" : 63,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 2,
"max_score" : 1.0,
"hits" : [
{
"_index" : "logdb",
"_type" : "debuglog",
"_id" : "qpzDUWIB9teAN1UfUbN_",
"_score" : 1.0,
"_source" : {
"SystemCode" : "Ubtrip",
"Source" : "ApprovalService",
"Message" : "数据库管理,即DBA"
}
},
{
"_index" : "logdb",
"_type" : "debuglog",
"_id" : "q5zTUWIB9teAN1UfvLNS",
"_score" : 1.0,
"_source" : {
"SystemCode" : "Ubtrip",
"Source" : "ApprovalService",
"Message" : "数据库管理,即DBA"
}
}
]
}
}

删除记录

删除记录就是向服务器发送一个DELETE请求,例如,我要删除/logdb/debuglog下_id为“q5zTUWIB9teAN1UfvLNS”的记录,请求URL如下:

curl -X DELETE 'http://192.168.1.40:9200/logdb/debuglog/q5zTUWIB9teAN1UfvLNS'

服务器返回结果如下:

{
"_index": "logdb",
"_type": "debuglog",
"_id": "q5zTUWIB9teAN1UfvLNS",
"_version": 2,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}

再次查询/logdb/debuglog下所有记录,发现只剩下一条了,已经找不到_id为“q5zTUWIB9teAN1UfvLNS”的记录了。

{
"took" : 4,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [
{
"_index" : "logdb",
"_type" : "debuglog",
"_id" : "qpzDUWIB9teAN1UfUbN_",
"_score" : 1.0,
"_source" : {
"SystemCode" : "Ubtrip",
"Source" : "ApprovalService",
"Message" : "数据库管理,即DBA"
}
}
]
}
}

Elasticsearch系列(3):Elasticsearch操作入门的更多相关文章

  1. Elasticsearch系列---初识Elasticsearch

    Elasticsearch是什么? Elasticsearch简称ES,是一个基于Lucene构建的开源.分布式.Restful接口的全文搜索引擎,还是一个分布式文档数据库.天生就是分布式.高可用.可 ...

  2. elasticsearch系列一elasticsearch(ES简介、安装&配置、集成Ikanalyzer)

    一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...

  3. Elasticsearch 系列3 --- Elasticsearch配置

    一. 位置 ES的配置文件位于安装目录\config下面,主要有 (1) elasticsearch.yml ES系统的配置: (2) jvm.options Java虚拟机配置: (3) log4j ...

  4. ElasticSearch实战系列六: Logstash快速入门和实战

    前言 本文主要介绍的是ELK日志系统中的Logstash快速入门和实战 ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...

  5. ElasticSearch实战系列八: Filebeat快速入门和使用---图文详解

    前言 本文主要介绍的是ELK日志系统中的Filebeat快速入门教程. ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...

  6. Elasticsearch系列(五)----JAVA客户端之TransportClient操作详解

    Elasticsearch JAVA操作有三种客户端: 1.TransportClient 2.JestClient 3.RestClient 还有种是2.3中有的NodeClient,在5.5.1中 ...

  7. Elasticsearch 术语介绍和CRUD实际操作入门

    一.Elastic Stack 核心Elasticsearch Elasticsearch 是一个分布式.RESTful 风格的搜索和数据分析引擎.Elasticsearch 是面向文档的,这就意味着 ...

  8. SpringBoot系列之Elasticsearch极速入门与实际教程

    @ 目录 一.什么Elasticsearch? 二.Elasticsearch安装部署 2.1 Elasticsearch安装环境准备 2.2 Docker环境安装Elasticsearch 2.3 ...

  9. Elasticsearch索引和文档操作

    列出所有索引 现在来看看我们的索引 GET /_cat/indices?v 响应 health status index uuid pri rep docs.count docs.deleted st ...

  10. ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程---图文详解

    前言 在上一篇中介绍了ElasticSearch集群和kinaba的安装教程,本篇文章就来讲解下 ElasticSearch的DSL语句使用. ElasticSearch DSL 介绍 Elastic ...

随机推荐

  1. android中进度条的实现

    布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:androi ...

  2. [tkinter]隐藏/销毁控件

    pack布局的情况下有pack_forget()方法让控件“不再显示”但控件还存在可以再次pack出来 from tkinter import * root = Tk() l1 = Label(roo ...

  3. QEMU KVM Libvirt手册(10): KVM的各种限制

    Overcommits KVM allows for both memory and disk space overcommit. However, hard errors resulting fro ...

  4. 利用redis + lua解决抢红包高并发的问题

    抢红包的需求分析 抢红包的场景有点像秒杀,但是要比秒杀简单点.因为秒杀通常要和库存相关.而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包的人即可.另外像小米这样 ...

  5. 为wordpress博客网站替换鼠标样式

    第一种方法是使用插件来实现这个功能,Unique Cursor  插件.可以在后台直接安装启用,然后就可以设置喜欢鼠标样式,点击保存就可以了.切记在选择的同时有二个选项一个是disable意思是关闭还 ...

  6. [Swift]LeetCode164. 最大间距 | Maximum Gap

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...

  7. awk小例子_2_数值统计脚本

    通信公司工作,经常处理各种协议接口,在统计协议接口字段内容时,需要统计字段填写的内容是否正确,和占比是多少.要是单次统计,估计会把人累死,写个脚本统计,轻松便捷. 举例:接口内容 这是一条话单,这样的 ...

  8. Ubuntu12.04下安装NS3.25

    实验室项目的需求,要使用到NS3做仿真,使用实验室的电脑,Ubuntu12.04,版本比较低,建议大家使用16.04,这样安装依赖文件时不会出现版本过低的问题 (没管最后也安装成功了).下面就安装步骤 ...

  9. BBS论坛(十)

    10.1.客户端权限验证功能完成 (1)cms/cms_profile 显示当前用户的角色和权限 <tr> <td>角色:</td> <td> {% f ...

  10. 网络协议 10 - Socket 编程(上):实践是检验真理的唯一标准

    系列文章传送门: 网络协议 1 - 概述 网络协议 2 - IP 是怎么来,又是怎么没的? 网络协议 3 - 从物理层到 MAC 层 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校 网 ...