乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Elasticsearch 1.0 简单的增删改查
2016-12-25 14:01:57
86
0
0
admin
> 这里介绍Elasticsearch 的增删改查 #建/查/删 索引(Index ) ##创建名为leo的索引 ``` [es@hadoop1 config]$ curl -XPUT localhost:9200/leo {"acknowledged":true,"shards_acknowledged":true} ``` 默认往某个index里插数据时如果index不存在会自动建立这个index 在配置文件中设置 action.auto_create_index: false 可以禁止自动建立index action.auto_create_index: +a*,+b*,-* 表示允许自动建立a 或者b 开头的index,不允许别的 *** ##查看所有Index ``` [es@hadoop1 config]$ curl localhost:9200/_cat/indices?v health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open leo AlVE3bavQv2zF7YVmW8-8A 5 1 0 0 1.2kb 650b ``` ##查看一个index 的配置 ``` curl 'localhost:9200/xx/_settings?pretty' ``` **与上一行输出对比,另一种显示方式,flat_settings 用于查看settings** ``` curl 'localhost:9200/xx/_settings?pretty&flat_settings' ``` ##删除索引 ``` [es@hadoop1 config]$ curl -XDELETE localhost:9200/leo {"acknowledged":true}[es@hadoop1 config]$ ``` ##open/close 索引 该操作相当于enable disable 索引 ``` POST /index/_close #关索引 POST /index/_open #开索引 ``` 在配置文件中设置 **action.destructive_requires_name: true** 可以阻止在delete/close 操作中使用index 正则匹配或者_all 在配置文件中设置 **cluster.indices.close.enable: false** 来禁止close index *** #插/查/修改数据 ``` #插入 curl -XPUT localhost:9200/$index/$type/$id -d 'JSON' #可以对某个ID 重新插入数据来覆盖原数据。 curl -XPUT localhost:9200/$index/$type -d 'JSON' #随机赋值id #查询 curl localhost:9200/$index/$type/$id?pretty #修改 curl -XPOST localhost:9200/$index/$type/$id/_update -d '{"doc":{JSON}}' #删除 curl -XDELETE localhost:9200/$index/$type/$id #批量操作,节省连接时间,如果一条语句失败,会继续后面的语句,会返回所有语句的结果 [es@hadoop1 ~]$ cat /tmp/bulk {"index":{"_id":"1"}} {"lala":1} {"index":{"_id":"2"}} {"wawa":1} {"update":{"_id":"1"}} {"doc":{"lala":10}} {"delete":{"_id":"2"}} [es@hadoop1 ~]$ curl -XPOST localhost:9200/$index/$type/_bulk?pretty --data-binary @/tmp/bulk { "took" : 580, "errors" : false, "items" : [ 数组(每一个操作的结果) ...... ``` *** #Query Elasticsearch ##Query by uri ``` curl 'localhost:9200/$index/_search?q=*&sort=$field:desc?pretty' #q=* 是匹配所有 ``` ##Query by request body ``` curl 'localhost:9200/$index/_search?pretty' -d '{"query":{"match_all":{}},"sort":[{"$field":"desc"}]}}' ``` 以下是返回字段的意义: **took**: 花了多少微秒搜索 **timed_out**: 是否超时 **_shards**: 搜索的分片信息 **_shards.total**: 该操作涉及多少个分片(包括备份的副本分片) **_shards.successful**: 操作成功的分片数量 **_shards.failed**: 操作失败的分片数量 **hits**: 搜索结果 **hits.total**: 总共搜索到多少 **hits.hits**: 搜索到的结果,数组 **sort**: 按照什么排序
上一篇:
Elasticsearch 0.1 安装/配置Elasticsearch
下一篇:
Elasticsearch 1.1 更多搜索技巧
文档导航