最近学习elasticsearch的数据存储,整体语法还是比较规则的。可以使用浏览器、postman、命令行等进行操作。

elasticsearch官网的解释最官方,请查看下面的地址

1. 查询当前集群状态

http://localhost:9200/_cat/health?v

epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent

1553060909 13:48:29 elasticsearch yellow 1 1 5 5 0 0 5 0 - 50.0%

//这里的status为yellow是由于这里搭建的elasticsearch环境为单节点的,并且建立的索引的eplica副本为1。

2.查询当前节点列表信息 v表示显示表头

http://localhost:9200/_cat/nodes?v

ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name

127.0.0.1 34 99 11 2.49 mdi * quDOwq-

3.查询当前的索引列表

http://localhost:9200/_cat/indices?v

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

yellow open project _WuFRJ6CQaaRgCtxEPMsiw 5 1 1 0 4.4kb 4.4kb

如果把rep的值改为1,索引的状态就会由yellow变为green

4.查询索引为project ,类型为test,id为1的数据,pretty表示格式化显示

http://localhost:9200/project/test/1?pretty

{

"_index" : "project",

"_type" : "test",

"_id" : "1",

"_version" : 1,

"found" : true,

"_source" : {

"json" : "text"

}

}

5.查询索引为postman ,类型为test,id为1的数据,pretty格式化,包含所有字段并排除name和set*开头的字段。

http://127.0.0.1:9200/postman/test/1?pretty&_source_includes=*&_source_excludes=name,set*

{

"_index" : "postman",

"_type" : "test",

"_id" : "1",

"_version" : 1,

"found" : true,

"_source" : { }

}

6.是否返回_source字段及值

http://127.0.0.1:9200/postman/test/1?_source=false

{"_index":"postman","_type":"test","_id":"1","_version":1,"found":true}

7. 查询所有索引信息

http://127.0.0.1:9200/_all/_search?pretty

elasticsearch的查询语法如下

curl -X:///

:REST风格的语法谓词

:节点ip

:节点端口号,默认9200

:索引名

:索引类型

:操作对象的ID号

如果命令行操作不熟的话,可以用 postman也可以操作。

可以看到上图的result为created。

再次执行http://localhost:9200/_cat/indices?v 可以看到列表中出现了新增的索引信息

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

yellow open postman KL9VXel5RNO0lNLWOqeakA 5 1 1 0 4.4kb 4.4kb

yellow open project _WuFRJ6CQaaRgCtxEPMsiw 5 1 1 0 4.4kb 4.4kb

1.curl命令行删除索引

curl -XDELETE ‘localhost:9200/postman?pretty’

{

"acknowledged" : true

}

//表示删除成功

//下面表示删除postman索引下类型为test且id为2的数据

curl -XDELETE 'localhost:9200/postman/test/2?pretty

2. 覆盖es中索引的数据

curl -XPOST 'localhost:9200/customer/external/1/_update?pretty' -d '

{

"doc": { "name": "Jane Doe", "age": 20 }

}'

3.创建索引模板,通过匹配模板前缀设置相关索引的分片、副本。达到对应的优化目的。

这里是创建所有以test开头的索引模板,则之后创建的已test开头的索引将遵循这个模板。

【如不创建则按照默认配置执行,非单节点最优配置】

PUT /_template/test-*

{

"index_patterns":"test*",

"order":0,

"settings":{

"number_of_shards":3,

"number_of_replicas":0

}

}

4. 对索引的信息进行字段映射的规则制定。相当于给数据中的counter、tags属性指明了类型和是否参与排序。

和数据库表的字段和数据类型相近。可以用来分组、排序、聚合查询等

//对创建的索引进行映射。

curl -X PUT "localhost:9200/twitter" -H 'Content-Type: application/json' -d'

{

"mappings": {

"_doc": {

"properties": {

"counter": {

"type": "integer",

"store": false

},

"tags": {

"type": "keyword",

"store": true

}

}

}

}

}

'

5. 创建索引数据

//增加两条条测试数据

curl -X PUT "localhost:9200/twitter/_doc/1" -H 'Content-Type: application/json' -d'

{

"counter" : 1,

"tags" : ["red"]

}

'

//本条数据,给索引文档增加了路由属性

curl -X PUT "localhost:9200/twitter/_doc/2?routing=user1" -H 'Content-Type: application/json' -d'

{

"counter" : 1,

"tags" : ["white"]

}

'

6.查询上面创建的索引数据

http://127.0.0.1:9200/twitter/_search?routing=user123

{

"took" : 0,

"timed_out" : false,

"_shards" : {

"total" : 1,

"successful" : 1,

"skipped" : 0,

"failed" : 0

},

"hits" : {

"total" : 1,

"max_score" : 1.0,

"hits" : [

{

"_index" : "twitter",

"_type" : "_doc",

"_id" : "2",

"_score" : 1.0,

"_routing" : "user1",

"_source" : {

"counter" : 1,

"tags" : [

"white"

]

}

}

]

}

}

7.查询字段满足条件的数据  q=tags:red     是查询tags属性中值为red的数据。多个可以用,

http://127.0.0.1:9200/twitter/_search?pretty&q=tags:red

{

"took" : 7,

"timed_out" : false,

"_shards" : {

"total" : 5,

"successful" : 5,

"skipped" : 0,

"failed" : 0

},

"hits" : {

"total" : 1,

"max_score" : 0.2876821,

"hits" : [

{

"_index" : "twitter",

"_type" : "_doc",

"_id" : "1",

"_score" : 0.2876821,

"_source" : {

"counter" : 1,

"tags" : [

"red"

]

}

}

]

}

}

8.上面查询的另一种实现方式如下:

//body中带有参数的查询方式

curl -X GET "localhost:9200/twitter/_search" -H 'Content-Type: application/json' -d'

{

"query" : {

"term" : { "tags" : "red" }

}

}

'

//结果匹配到tags:red数据1条

{"took":4,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":1,"max_score":0.2876821,"hits":[{"_index":"twitter","_type":"_doc","_id":"1","_score":0.2876821,"_source":

{

"counter" : 1,

"tags" : ["red"]

}

关于elasticsearch的增删改查还有非常多的实现和方式。更多了解还是去参考头部的官网地址。官方还是比一些二道手的信息更全面和条理的,否则容易理解的比较片面。

也可以在kibana控制台的开发工具上进行测试、解析

node-red mysql的增删改查_通过curl或者http请求对elasticsearch中的数据进行增删改查...相关推荐

  1. 用sql语句对数据库表中的数据进行增删改

    如何使用sql语句对mysql数据库中表的数据进行增删改 这里新创了一个school数据库,在下面创建一张名为student表,创建student表的sql语句代码如下: #使用school数据库 u ...

  2. mysql内部实现原理面试_理解完这些基本上能解决面试中MySql的事务问题

    事务是指逻辑上的一组操作,要么都执行,要么都不执行, 事务的特性(ACID)原子性(Atomicity):事务是不可分割的工作单元,要么都成功,要么都失败, 如果事务中一个sql语句执行失败,则已执行 ...

  3. mysql事务最好别用_理解完这些基本上能解决面试中MySql的事务问题

    前言 在面试中,基本上都会问到关于数据库的事务问题,如果啥都不会或者只回答到表面的上知识点的话,那面试基本上是没戏了,为了能顺利通过面试,那MySql的事务问题就需要了解,所以就根据网上的资料总结一版 ...

  4. mysql导出七张表成dtf文件_如何用Java实现把excel表中的数据导入到mysql数据库已有的表中?...

    展开全部 java 读excel 还是比较方便简单的,原理就是,先用java 读取excel,然后,一行行的写入数据库,字段的话32313133353236313431303231363533e4b8 ...

  5. python查数据库写入excel_【Python】将数据库中的数据查询出来自动写入excel文档...

    近期每天都要监控一个数据. 第一个版本是这样的: 每天新增一个文档来汇总这个数据.这样搞了几天之后,过了一个周末,过来突然发现数据变多了很多,这个时候要调整策略,直接一个文档汇总出要的数据就可以了. ...

  6. es重建字段类型_关于elasticsearch中更新数据的几种方式

    作为一个成熟的框架,Elasticsearch里面提供了丰富的操作数据的api,本篇我们就来学习一下在es中更新数据的几种方式. (一)更新文档 (1)部分更新: java api: ` HashMa ...

  7. 自动生成sqlserver增删改成_如何批量生成证书证件-可变条码-可变图片-可变数据-快速教程...

    如何生成可变图像? 如何生成可变文本? 如何生成可变条码? 如何使打印作业自动化? 从多页设计中选取页 使用几乎所有数据库程序中的数据库信息 通过"拖放"创建个性化打印 分享快速教 ...

  8. mysql联合索引怎么存储_联合索引在B+树上的存储结构及数据查找方式

    能坚持别人不能坚持的,才能拥有别人未曾拥有的. 关注编程大道公众号,让我们一同坚持心中所想,一起成长!! 引言 上一篇文章<MySQL索引那些事>主要讲了MySQL索引的底层原理,且对比了 ...

  9. mysql数据库表无法显示_【MySQL8.0.18】IDEA 连接数据库无法显示数据表

    先说结论,目前 IDEA 默认提供的最高的 MySQL 驱动是 v8.0.15,驱动版本过低. 贴一张问题图.很明显可以看出数据库中什么也没有.而数据库可以正常访问且查询数据. 由于使用的数据库是My ...

最新文章

  1. mysql innodb插件_mysql安装innodb插件
  2. 嵌入式Linux的特点
  3. redis企业级应用(下)-如何维护redis的key
  4. 100道计算机故障检测试题,计算机故障检测与维护综合测试题(一).docx
  5. mysql 表名不加单引号_当表名“ match”没有用单引号引起来时,MySQL引发错误?...
  6. Android样式开发---shape
  7. Android下将图片载入到内存中
  8. Javascript第六章prototype原型向构造器中添加属性,实现构造器共享,节约空间第五课
  9. 在windows Console 平台下面 用glut编写 opengl程序 注意
  10. java实现dex转jar_dex转jar工具
  11. 分页组件extremeComponents的使用
  12. g9008v android7,三星G9008V Android 4.4 (GALAXY S5 移动4G)图文刷机教程,最新教程,简单明了...
  13. H5的HTML怎么制作制作页面,如何制作H5长页面?长页面H5制作教程!
  14. 软件之道 -- 道篇全文
  15. 如何去掉百度地图 信息框的白色箭头
  16. *.dfm resource kept;file *.dfm resource discarded
  17. python操作excel编号自增加1
  18. 计算机网络安全防范措施的摘要,浅析计算机网络安全的隐患及防范措施
  19. MySQL——索引及调优篇
  20. nginx配置连接数及限制客户端请求

热门文章

  1. 草莓甜品海报设计,甜出画面,受得住诱惑么?
  2. 免扣PNG图片素材,用着就是爽|png与jpg格式图片的区别
  3. UI设计素材模板|设计良好的教育网站:3个快捷技巧
  4. 频谱分析幅值单位_FFT分析的注意事项,您都知道吗?
  5. 根据进程名判断该进程是否存在(C++)
  6. 实现后台高级查询(基础版)
  7. ebpf_exporter - Prometheus exporter for custom eBPF metrics
  8. Python项目实践:文本进度条
  9. Sklearn之Ensemble 估计器
  10. update两个表中的同一字段的数据_用Python实现多个工作簿中的数据按列合并到同一个工作表中...