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

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. VISUALSVN: UNABLE TO CONNECT TO A REPOSITORY AT URL 无法连接主机的解决办法

    场景:我的系统是win7,安装的 VisualSVN Server 作为svn 服务器,昨天是好的,我手渐,使用鲁大师优化了系统,今天提交,更新的时候,直接提示:Unable to connect t ...

  2. jQuery 3.0最终版发布,十大新特性眼前一亮

    jQuery 3.0在日前发布了最终的全新版本.从2014年10月,jQuery团队对这个主要大版本进行维护开始,web开发者社区便一直在期待着这一刻的到来,终于在2016年6月他们迎来了这一个最终板 ...

  3. Java日志框架:slf4j作用及其实现原理

    简单回顾门面模式 slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模式, 门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用.用一 ...

  4. .Net小白的大学四年,内含面经

    大家好 我是码农阿宇,和博客园的广大兄弟一样,我们都喜欢.Net,但是你们是985/211,而我江西一所普通得不能再普通的二本大学---九江学院,大四毕业在即,英语四级未过(为什么强调这一点?见文末- ...

  5. 18.C++-[ ]操作符使用 、函数对象与普通函数区别(详解)

    在上章17.C++-string字符串类(详解)学习了string类,发现可以通过[ ]重载操作符来访问每个字符. 比如: string s="SAD"; for(int i=0, ...

  6. Linux下mysql的常用操作

    Linux下mysql的常用操作: 显示数据库 show databases; 选择数据库 use 数据库名; 显示数据库中的表 show tables; 显示数据表的结构 describe 表名; ...

  7. nxlog4go 的配置驱动

    刚开始接触log4go项目时,没有注意到配置的重要性. 阅读了log4j.log4net.log4cpp.log4cplus的部分代码,发现它们都是以xml配置来驱动日志系统运行的. 多个源文件共享一 ...

  8. linux下安装Sublime Text3并将它的快捷方式放进启动器中

    Sublime Text是一个代码编辑器,我主要是用它来编辑python.下面就来简单说明下它在linux的安装过程吧! 1.添加sublime text3的仓库 首先按下快捷键ctrl+alt+t打 ...

  9. RedHat/Fedora/Centos 下bash 自动补全命令

    本文转自:运维生存时间:http://www.ttlsa.com/linux/rhel- ... matically-function/ linuser  :http://www.linuser.co ...

  10. ASP.NET没有魔法——ASP.NET MVC Razor与View渲染

    对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的界面呈现工作是由浏览器完成的,Web应用的原理是通过Http协议从服务器上获取到 ...