本文着重总结Elasticsearch的常见API了,进行分析。

  • Index API
  1. 初始化Index,设置shards和replica
PUT http://localhost:9200/firewall_syslog/
{
"settings":{
"index":{
"number_of_shards":5,
"number_of_replicas":0
} }
}

  可以得到创建成功的JSON返回:

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

  2. 获得索引的详细信息:

  获取单个索引信息:

GET http://localhost:9200/firewall_syslog/_settings/

  返回JSON值:

{
"firewall_syslog": {
"settings": {
"index": {
"creation_date": "1499588503266",
"number_of_shards": "5",
"number_of_replicas": "0",
"uuid": "DTeXCyRcRGqhIMkBjupyLg",
"version": {
"created": "5040399"
},
"provided_name": "firewall_syslog"
}
}
}
}

  获得多个索引:

GET http://localhost:9200/server_syslog,firewall_syslog/_settings/

  可获得返回的JSON值:

{
"server_syslog": {
"settings": {
"index": {
"creation_date": "1499324705761",
"number_of_shards": "5",
"number_of_replicas": "0",
"uuid": "x_ke_3yhR2ycMPumgrDEvw",
"version": {
"created": "5040399"
},
"provided_name": "server_syslog"
}
}
},
"firewall_syslog": {
"settings": {
"index": {
"creation_date": "1499588503266",
"number_of_shards": "5",
"number_of_replicas": "0",
"uuid": "DTeXCyRcRGqhIMkBjupyLg",
"version": {
"created": "5040399"
},
"provided_name": "firewall_syslog"
}
}
}
}

  获得所有索引信息:

GET http://localhost:9200/_all/_settings/

  可获得返回JSON值:

{
"server_syslog": {
"settings": {
"index": {
"creation_date": "1499324705761",
"number_of_shards": "5",
"number_of_replicas": "0",
"uuid": "x_ke_3yhR2ycMPumgrDEvw",
"version": {
"created": "5040399"
},
"provided_name": "server_syslog"
}
}
},
"hardware_syslog": {
"settings": {
"index": {
"creation_date": "1499324723964",
"number_of_shards": "5",
"number_of_replicas": "0",
"uuid": "0Mmg81DJR0GWQ3JLTeyUbg",
"version": {
"created": "5040399"
},
"provided_name": "hardware_syslog"
}
}
},
"firewall_syslog": {
"settings": {
"index": {
"creation_date": "1499588503266",
"number_of_shards": "5",
"number_of_replicas": "0",
"uuid": "DTeXCyRcRGqhIMkBjupyLg",
"version": {
"created": "5040399"
},
"provided_name": "firewall_syslog"
}
}
}
}

  3. 新建文档与内容

  使用PUT来新建建Elasticsearch文档内容:

PUT http://localhost:9200/firewall_syslog/name/1/
{
"name": "cisco",
"version": "1.7.1",
"writer": {
"first": "larry",
"second": "tim"
},
"syslog": "1"
}

  返回的JSON信息为:

{
"_index": "firewall_syslog",
"_type": "name",
"_id": "1",
"_version": 2,
"result": "updated",
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"created": false
}

  4. 更新文档中的字段(覆盖更新与Update更新)

  使用POST方法覆盖更新文档关键内容:

POST http://localhost:9200/firewall_syslog/name/1/
{
"name": "cisco",
"version": "1.7.3",
"writer": {
"first": "larry",
"second": "tim"
},
"syslog": "3"
}

  返回JSON关键字updated:

{
"_index": "firewall_syslog",
"_type": "name",
"_id": "1",
"_version": 11,
"found": true,
"_source": {
"name": "cisco",
"version": "1.7.3",
"writer": {
"first": "larry",
"second": "tim"
},
"syslog": "3"
}
}

  使用update接口更新文档内容,修改name字段为juniper:

POST http://localhost:9200/firewall_syslog/name/1/_update/
{
"doc":{
"name":"juniper"
}
}

  返回JSON的值为:

{
"_index": "firewall_syslog",
"_type": "name",
"_id": "1",
"_version": 12,
"result": "updated",
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
}
}

  5. 搜索doc中的关键字段:

  不过出了一些未知的小故障,题住用的是ELasticsearch 5.x版本。不知道为何在head中调用api无法实现以下内容。

GET http://localhost:9200/server_syslog/secure/1?_source=user/

  后面将总结mget与bulk接口。

    

  

  

  

  
 

Elasticsearch学习随笔(二)-- Index 和 Doc 查询新建API总结的更多相关文章

  1. ElasticSearch 学习记录之父子结构的查询

    父子结构 父亲type属性查询子type 的类型 父子结构的查询,可以通过父亲类型的字段,查询出子类型的索引信息 POST /product/_search { "query": ...

  2. Elasticsearch学习随笔(一)--原理理解与5.0核心插件部署过程

    最近由于要涉及一些安全运维的工作,最近在研究Elasticsearch,为ELK做相关的准备.于是把自己学习的一些随笔分享给大家,进行学习,在部署常用插件的时候由于是5.0版本的Elasticsear ...

  3. Elasticsearch 学习(二):安装和使用

    一.安装 安装 Elasticsearch 之前,需要先安装 Java,并配置好 Java 环境变量. 安装好 Java 环境后,进入 Elasticsearch 官网下载安装包. 解压安装包,进入解 ...

  4. Elasticsearch学习笔记(十)批量查询mget、批量增删改bulk

    一.批量查询  mget             GET /_mget {   "docs":[       {         "_index":" ...

  5. Elasticsearch学习系列二(基础操作)

    本文将分为3块讲解Es的基础操作.分别为:索引(index).映射(mapping).文档(document). 索引操作 创建索引库 语法: PUT /索引名称{ "settings&qu ...

  6. 2018/2/11 ELK技术栈之ElasticSearch学习笔记二

    终于有时间记录一下最近学习的知识了,其实除了写下的这些还有很多很多,但懒得一一写下了: ElasticSearch添加修改删除原理:ElasticSearch的倒排索引和文档一旦生成就不允许修改(其实 ...

  7. Elasticsearch学习笔记二

    PS:上一篇已经介绍了ES的一些基础概念以及单机版ES的安装,配置,本文主要介绍ES的集群管理,CRUD以及简单聚合查询. 集群管理 ES的集群部署起来也很方便,将单机版SCP复制几分,修改elast ...

  8. Elasticsearch学习系列之term和match查询

    lasticsearch查询模式 一种是像传递URL参数一样去传递查询语句,被称为简单查询 GET /library/books/_search //查询index为library,type为book ...

  9. Elasticsearch学习系列之term和match查询实例

    Elasticsearch查询模式 一种是像传递URL参数一样去传递查询语句,被称为简单查询 GET /library/books/_search //查询index为library,type为boo ...

随机推荐

  1. 刨根究底字符编码之五——简体汉字编码方案(GB2312、GBK、GB18030、GB13000)以及全角、半角、CJK

    简体汉字编码方案(GB2312.GBK.GB18030.GB13000)以及全角.半角.CJK   一.概述 1. 英文字母再加一些其他标点字符之类的也不会超过256个,用一个字节来表示一个字符就足够 ...

  2. 聊一聊JQ中delegate事件委托的好处

    下面举个例子 我们希望通过点击使得点击的li标签变红 <body style="height:2000px;"> <ul> <li>1111&l ...

  3. Spring Mvc 用Demo去学习

    1:首先大体知道 SpringMVC 框架的 运行原理(图片来自网络 ) 2:SpringMVC 是依照DispatcherServlet 展开的 这里可以约Structs2对比,structs2 是 ...

  4. RabbitMQ安装配置和基于EasyNetQ驱动的基础使用

    一.RabbitMQ基本概念和原理 1.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计. 2.Ra ...

  5. 用js获取页面颜色值怎么比较?

    一般情况下,我们通过十六进制的方式设置页面颜色值 如#64e164 但当我们通过js获取这个dom颜色值的时候,返回的值却可能不是十六进制的,所以比较的时候需要分浏览器进行 在火狐和谷歌浏览器中,返回 ...

  6. js 次方 开方

    次方 ,用Math.pow(值,次方数) 如: Math.pow(3,2);   3的平方 Math.Pow(2,3);   2的立方 开方Math.sqrt(值) 如: Math.sqrt(9);  ...

  7. JavaScript设计模式_02_策略模式

    在程序设计中,我们常常遇到这种情况,要实现某一个功能我们有很多种算法可以实现.这些算法灵活多样,而且可以随意互相替换.这种解决方案就是所谓的策略模式. /* * pre:策略模式 * 示例:公司计算奖 ...

  8. Web前端的路该怎么走?很迷茫

    “路漫漫其修远兮,吾将上下而求索”,这句出自<离骚>. 虽然端午已过,但是还是不影响一个程序员想表(zhuang)达(boy)自己此刻心情的冲动. 偶然路过同事旁边,不(tou)小(kan ...

  9. C#中switch的使用

    今天在网上看到有人给出这么一个程序需求,博主就拿来回忆回忆C#中switch的用法 程序需求如下: 根据星期几(一 ~日) ,输出特价菜“一”.“二”.“三”,输出“干煸扁豆6元.”“四”.“五”,输 ...

  10. UE4 Run On owing Client解析(RPC测试)

    今天看到文档中游戏性指南->远程调用函数->在蓝图中使用远程调用函数的 Run On Owning Client 在所有权的客户端上运行部分,发现把Add Item和Remove Item ...