Elasticsearch系列(3):Elasticsearch操作入门
创建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操作入门的更多相关文章
- Elasticsearch系列---初识Elasticsearch
Elasticsearch是什么? Elasticsearch简称ES,是一个基于Lucene构建的开源.分布式.Restful接口的全文搜索引擎,还是一个分布式文档数据库.天生就是分布式.高可用.可 ...
- elasticsearch系列一elasticsearch(ES简介、安装&配置、集成Ikanalyzer)
一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...
- Elasticsearch 系列3 --- Elasticsearch配置
一. 位置 ES的配置文件位于安装目录\config下面,主要有 (1) elasticsearch.yml ES系统的配置: (2) jvm.options Java虚拟机配置: (3) log4j ...
- ElasticSearch实战系列六: Logstash快速入门和实战
前言 本文主要介绍的是ELK日志系统中的Logstash快速入门和实战 ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...
- ElasticSearch实战系列八: Filebeat快速入门和使用---图文详解
前言 本文主要介绍的是ELK日志系统中的Filebeat快速入门教程. ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...
- Elasticsearch系列(五)----JAVA客户端之TransportClient操作详解
Elasticsearch JAVA操作有三种客户端: 1.TransportClient 2.JestClient 3.RestClient 还有种是2.3中有的NodeClient,在5.5.1中 ...
- Elasticsearch 术语介绍和CRUD实际操作入门
一.Elastic Stack 核心Elasticsearch Elasticsearch 是一个分布式.RESTful 风格的搜索和数据分析引擎.Elasticsearch 是面向文档的,这就意味着 ...
- SpringBoot系列之Elasticsearch极速入门与实际教程
@ 目录 一.什么Elasticsearch? 二.Elasticsearch安装部署 2.1 Elasticsearch安装环境准备 2.2 Docker环境安装Elasticsearch 2.3 ...
- Elasticsearch索引和文档操作
列出所有索引 现在来看看我们的索引 GET /_cat/indices?v 响应 health status index uuid pri rep docs.count docs.deleted st ...
- ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程---图文详解
前言 在上一篇中介绍了ElasticSearch集群和kinaba的安装教程,本篇文章就来讲解下 ElasticSearch的DSL语句使用. ElasticSearch DSL 介绍 Elastic ...
随机推荐
- django 利用pillow 进行简单的设置验证码(python)
1.导入模块 并定义一个验证状态 from PIL import Image, ImageDraw, ImageFont from django.utils.six import BytesIO de ...
- Where is the Marble? (寻找大理石上的数字)
(先上题目) (题目描述)Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers w ...
- dc的博客翻修计划启动
紫书大部分学习完毕,等待一轮补完计划: 白书正在攻略中,进度百分之30: 博客翻修计划启动,我会在本学期内逐渐写系统性的学习笔记,我学习时遇到的困难的地方会有说明: 每个部分一定会放上经过验证的实现: ...
- JVM性能调优监控命令jps、jinfo、jstat、jmap+jhat、jstack使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jinfo.jstat.jmap+jhat.jstack等小巧的工具,本博客希望能起抛砖 ...
- 最新Java技术
最近在网上查资料碰到好多没接触过的技术,先汇总在这里备用,以后慢慢吸收 1. JNA JNI的替代品,调用方式比JNI更直接,不再需要JNI那层中间接口,几乎达到Java直接调用动态库 2. Smal ...
- 仿微信的IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]
本文为原创分享,转载请注明出处. 1.引言 即时通讯IM应用中的聊天消息时间显示是个再常见不过的需求,现在都讲究用户体验,所以时间显示再也不能像传统软件一样简单粗地暴显示成“年/月/日 时:分:秒”这 ...
- 使用cloudreve搭建个人网盘
这次将腾迅的对象存储cos挂载到了服务器上,就想自己搭建个网盘,虽然每月50G的空间和10G流量,也够用了 之前写过使用owncloud来搭建个人网盘,使用起来挺方便,就是不知道为什么感觉打开速度慢, ...
- [Swift]LeetCode970.强整数 | Powerful Integers
Given two non-negative integers x and y, an integer is powerful if it is equal to x^i + y^j for some ...
- 【Spark篇】---Spark初始
一.前述 Spark是基于内存的计算框架,性能要优于Mapreduce,可以实现hadoop生态圈中的多个组件,是一个非常优秀的大数据框架,是Apache的顶级项目.One stack rule ...
- Visual Studio 2017中使用Libman管理客户端库
什么是Libman 微软在Visual Studio 2017 15.8版本中内嵌了一个新的工具Library Manager. Library Manager(简称Libman)是一个客户端库管理工 ...