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 ...
随机推荐
- Red and Black---POJ - 1979
There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A ...
- 最新Java技术
最近在网上查资料碰到好多没接触过的技术,先汇总在这里备用,以后慢慢吸收 1. JNA JNI的替代品,调用方式比JNI更直接,不再需要JNI那层中间接口,几乎达到Java直接调用动态库 2. Smal ...
- iOS URL Schemes与漏洞的碰撞组合
iOS URL Schemes与漏洞的碰撞组合 前言 iOS URL Schemes,这个单词对于大多数人来说可能有些陌生,但是类似下面这张图的提示大部分人应该都经常看见: 今天要探究的就是:了解iO ...
- 配置Zookeeper、Dubbox
CentOS的配置: 1.给CentOS安装Zookeeper: 网络配置成仅主机 上传tar.gz:比如用FTP tar -xvzf ... cd zookeeper mkdir data cd c ...
- [Swift]LeetCode689. 三个无重叠子数组的最大和 | Maximum Sum of 3 Non-Overlapping Subarrays
In a given array nums of positive integers, find three non-overlapping subarrays with maximum sum. E ...
- [Swift]LeetCode806. 写字符串需要的行数 | Number of Lines To Write String
We are to write the letters of a given string S, from left to right into lines. Each line has maximu ...
- [Swift]LeetCode929. 独特的电子邮件地址 | Unique Email Addresses
Every email consists of a local name and a domain name, separated by the @ sign. For example, in ali ...
- vue框架中的Axios封装
function axios(options) { let promise = new Promise((resolve, reject) => { var xhr ...
- 【Spark篇】---Spark中Master-HA和historyServer的搭建和应用
一.前述 本节讲述Spark Master的HA的搭建,为的是防止单点故障. Spark-UI 的使用介绍,可以更好的监控Spark应用程序的执行. 二.具体细节 1.Master HA 1.Mast ...
- BBS论坛(六)
6.1.优化json数据的返回 (1)新建utils/restful.py # utils/restful.py from flask import jsonify class HttpCode(ob ...