------------------------------------------------------

1、查看索引信息

请求命令:

GET /library/_settings

GET /library1,library2/_settings

GET /_all/_settings

------------------------------------------------------

2、创建一个 _id 为1的文档

PUT /索引名/类型名/文档id

请求命令:

PUT /library/books/

{

“title”:“Black Horse”,

“name”:{

“first”:“shengqi”,

“last”:“liang”

},

"publish_date","1900/01/01",

"price":"35.99"

}

POST /library/books/

{

“title”:“Black Horse”,

“name”:{

“first”:“shengqi”,

“last”:“liang”

},

"publish_date","1900/01/01",

"price":"55.99"

}

------------------------------------------------------

3、查看 _id 为1的书信息

请求命令:

GET /library/books/1

GET /library/books/1?_source=title,price ## 返回title和price

响应结果:

{

"_index":"library",

"_type":"books",

"_id":"1",

"_version":"4",

"_found":"true",

"_source":{

"title":"black fly",

"name":{

"first":,"xxx",

"last":,"yyy"

}

"publish_date":"2015-12-06",

"price":"100"

}

}

------------------------------------------------------

4、更新docment

方式1,重新put同一个id的新内容

方式2,POST更新方式(_update,doc)

方式3:脚本更新 http://www.cnblogs.com/xing901022/p/5330778.html

请求命令:

POST  /library/books/1/_update

{

“doc”:{

“price”:“100.99”

}

}

响应结果:

------------------------------------------------------

5、删除一个 _id=1 的文档

请求命令:

DELETE /library/books/1

响应结果:

{

“_found”:true,

"_index":"library",

"_type":"books",

"_id":"1",

"_version":"5"

}

删除一个 type和索引

请求命令:

DELETE /library/books

DELETE /library

响应结果1:

{

“acknowledge”:true

}

响应结果2:

{

“error”:"xxx",

“status”:404

}

 

6、追加字段定义

https://www.elastic.co/guide/en/elasticsearch/guide/current/_controlling_analysis.html

For instance, let’s add a new field to my_index:

PUT /my_index/_mapping/my_type
{
    "my_type": {
        "properties": {
            "english_title": {
                "type": "string",
                "analyzer": "english"
            }
        }
    }
}

elasticsearch 添加字段

Elasticsearch中的mapping一旦创建,就不能再修改。但是添加字段是可以的。
其实很简单,只需在原来的mapping上面直接新增加一个field,
然后重新创建一下mapping就可以了。

原mapping的定义如下:
Java代码 收藏代码
private static XContentBuilder getMapping() throws Exception{
XContentBuilder mapping = jsonBuilder()
.startObject()
.startObject("test")
.startObject("properties")
.startObject("id")
.field("type", "long")
.field("store", "yes")
.endObject()

.startObject("type")
.field("type", "string")
.field("index", "not_analyzed")
.endObject()

.startObject("catIds")
.field("type", "integer")
.endObject()
.endObject()
.endObject()
.endObject();
return mapping;
}

现在加入要增加一个field,名称叫title。新增后的代码如下:
Java代码 收藏代码
private static XContentBuilder getMapping() throws Exception{
XContentBuilder mapping = jsonBuilder()
.startObject()
.startObject("test")
.startObject("properties")
.startObject("id")
.field("type", "long")
.field("store", "yes")
.endObject()

.startObject("type")
.field("type", "string")
.field("index", "not_analyzed")
.endObject()
//新增字段
.startObject("title")
.field("type", "string")
.field("index", "analyzed")
.endObject()

.startObject("catIds")
.field("type", "integer")
.endObject()
.endObject()
.endObject()
.endObject();
return mapping;
}

然后重新putMapping即可。
还不知道如何创建mapping?请看这里。
对这类话题感兴趣?欢迎发送邮件至donlianli@126.com

 

ELK学习总结(2-2)单模式CRUD操作的更多相关文章

  1. MyBatis入门学习教程-使用MyBatis对表执行CRUD操作

    上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...

  2. mybatis学习(二)----对表进行CRUD操作

    一.使用MyBatis对表执行CRUD操作——基于XML的实现 userMapper.xml映射文件如下: <?xml version="1.0" encoding=&quo ...

  3. Mybatis框架学习总结-使用Mybatis对表执行CRUD操作

    使用MyBatis对表执行CRUD操作——基于XML的实现 1.创建(create)用户:在userMapper.xml文件中增加: <!-- 创建用户Create --> <ins ...

  4. MyBatis学习存档(4)——进行CRUD操作

    使用MyBatis进行数据库的CRUD操作有2种方式:一种如之前所说的接口+xml,而另一种是通过对接口上的方法加注解(@Select @Insert @Delete @Update) 但是通常情况下 ...

  5. MyBatis学习01(初识MyBatis和CRUD操作实现)

    1.初识MyBatis 环境说明: jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA 学习前需要掌握: JDBC MySQL Java 基础 Maven Junit 什么是M ...

  6. mybatis学习:mybatis的注解开发CRUD操作

    Dao层: public interface IUserDao { /** * 查询所有结果 * @return */ @Select("select * from user") ...

  7. 【Java EE 学习 44】【Hibernate学习第一天】【Hibernate对单表的CRUD操作】

    一.Hibernate简介 1.hibernate是对jdbc的二次开发 2.jdbc没有缓存机制,但是hibernate有. 3.hibernate的有点和缺点 (1)优点:有缓存,而且是二级缓存: ...

  8. Elasticsearch学习系列之单模式下API的增删改查操作

    这里我们通过Elasticsearch的marvel插件实现单模式下API的增删改查操作 索引的初始化操作 创建索引之前可以对索引进行初始化操作,比如先指定shard数量以及replicas的数量 代 ...

  9. 【前端学习】sublime开启vim模式

    学习目标:在sublime下开启vim模式,了解基本vim的编辑快捷键. 下载安装Sublime Text 3 :http://www.sublimetext.com/3 Vim/Vi: Vim/Vi ...

随机推荐

  1. Jexus 5.8.3正式发布:Asp.Net Core在Linux上最友好服务器平台

    Jexus Web Serever 是一款运行于 Linux 操作系统,以支持 ASP.NET.ASP.NET CORE.PHP 为特色的高性能 WEB 服务器和反向代理服务器.最新版 5.8.3 已 ...

  2. JS获取当前周

    var now = new Date() var weekFirstDay = new Date(now- (now.getDay() - 1) * 86400000) var firstMonth ...

  3. ubuntu系统备份与恢复(也适用于其他linux系统)

    在windows环境下面,有很多的备份恢复软件,系统也自带了备份恢复功能,比较知名的软件比如ghost等,为什么要备份系统,我之前一直都是系统出现问题就全新安装原版的windows,然后各种设置,各种 ...

  4. JVM内存越多,能创建的线程越少,越容易发生java.lang.OutOfMemoryError: unable to create new native thread。

    一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse ...

  5. Selenium学习资源和网站

    用于收集常用的网站和学习资源: 文章: Selenium私房菜系列--总章 WEB 自动化测试工具 Selenium 简介及其应用 Selenium教程 和我一起学 Selenium WebDrive ...

  6. 基于Three.js的360度全景--photo-sphere-viewer--简介

    这个是基于three.js的全景插件  photo-sphere-viewer.js  ---------------------------------------- 1.能添加热点: 2.能调用陀 ...

  7. 使用jitpack来获取github上的开源项目

    在开发中我们需要经常使用第三方依赖库,在构建工具Gradle或maven中声明依赖, 大部分使用的是maven中心仓库或者阿里云仓库等等,但是这样也存在一个问题,上述仓库的库虽然简单快捷好用,但并不是 ...

  8. Java设计模式-责任链模式

    提出问题: 最初接触责任链模式就是在struts2中,在当时学的时候看了一眼,大概知道了原理,最近在复习,模拟struts2,说是模拟只是大体模拟了struts2的工作流程,很多东西都是写死的,只是为 ...

  9. Dubbo学习1-Hello world

    前言 互联网技术到今天已经非常成熟和稳定了,其中为了解决高并发.大规模的服务请求,出现了微服务.RPC这样的分布式架构.今天就从头开始学习RPC框架dubbo. 为什么要学Dubbo 关于分布式的解决 ...

  10. Linux开发环境工具收集

    zsh & oh-my-zsh 配置oh-my-zsh之前要先安装Git sudo apt-get install zsh sudo apt-get install git wget http ...