Elasticsearch2.4.6版本 在linux 命令行 對數據的增刪改操作


一、_cluster系列:查詢設置集群狀態

1、設置集群狀態

curl -XGET 10.68.120.167:9204/_cluster/health?pretty=true

pretty=true 表示格式化輸出 level=indices 表示顯示索引狀態 level=shards 表示顯示分片信息

 2、顯示集群系統信息,包括CPU JVM等等:curl -XGET 10.68.120.167:9204/_cluster/stats?pretty=true

 3、獲取集群堆積的任務:curl -XGET 10.68.120.167:9204/_cluster/pending_tasks?pretty=true

 4、修改集群配置:

curl -XPUT 10.68.120.167:9204/_cluster/settings -d ‘{
“persistent” : {
“discovery.zen.minimum_master_nodes” : 2
}
}’
transient 表示臨時的,persistent表示永久的
5、對shard的手動控制:curl -XPOST ‘10.68.120.167:9204/_cluster/reroute’ -d ‘xxxxxx’

6、關閉指定192.168.1.1節點

curl -XPOST ‘http://192.168.1.1:9200/_cluster/nodes/_local/_shutdown’
curl -XPOST ‘http://localhost:9200/_cluster/nodes/192.168.1.1/_shutdown’
7、關閉主節點: curl -XPOST ‘http://localhost:9200/_cluster/nodes/_master/_shutdown’

8、關閉整個集群:

curl -XPOST ‘http://localhost:9200/_shutdown?delay=10s’
delay=10s表示延遲10秒關閉
curl -XPOST ‘http://localhost:9200/_cluster/nodes/_shutdown’
curl -XPOST ‘http://localhost:9200/_cluster/nodes/_all/_shutdown’


二、_nodes系列:查詢節點的狀態

curl -XGET ‘http://localhost:9200/_nodes/stats?pretty=true’
curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2/stats?pretty=true’
curl -XGET ‘http://localhost:9200/_nodes/process’
curl -XGET ‘http://localhost:9200/_nodes/_all/process’
curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2,192.168.1.3/jvm,process’
curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2,192.168.1.3/info/jvm,process’
curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2,192.168.1.3/_all
curl -XGET ‘http://localhost:9200/_nodes/hot_threads

 

三、索引操作

1、創建一個index:curl -XPUT '10.68.120.167:9204/wzxtest02?pretty&pretty'

 

2、查詢所有的index:curl -XGET '10.68.120.167:9204/_cat/indices?v&pretty'

3、刪除index:curl -XDELETE '10.68.120.167:9204/wzxtest02?pretty'

 4、檢查ES節點是否正常啟動:curl http://10.68.120.167:9204

非正常狀態:

  1>確保服務是不是正常啟動了,端口用的是哪個

  2>防火牆是否關閉或者端口是否開放

  3>你的curl命令是否有問題,curl命令可能導致服務無法訪問,可以嘗試重啟服務后,在外部瀏覽器訪問URL地址即可。不一定非得用curl

 5、檢測集群健康狀態:curl http://10.68.120.167:9204/_cat/health?v

綠色表示一切正常, 黃色表示所有的數據可用但是部分副本還沒有分配,紅色表示不可用

6、再新增的index中插入數據:curl -XPUT http://10.68.120.167:9204/wzxstu1/base/88?pretty -d '{"name":"pppp","age":"9999"}'

 

 7、根據ID查詢剛才獲取的數據:curl -XGET http://10.68.120.167:9204/wzxstu1/base/88?pretty

 8、根據ID,PUT請求修改剛才的數據:curl -XPUT http://10.68.120.167:9204/wzxstu1/base/88?pretty -d '{"name":"李四修改煩煩煩方法","age":"444"}'

 查詢數據驗證是否修改成功:curl -XGET http://10.68.120.167:9204/wzxstu1/base/88?pretty

 9、根據ID,POST請求修改剛才的數據:curl -XPOST http://10.68.120.167:9204/wzxstu1/base/88?pretty -d '{"doc":{"name":"李四更新啊啊啊啊啊","age":"230"}}'

  查詢數據驗證是否修改成功:curl -XGET http://10.68.120.167:9204/wzxstu1/base/88?pretty

 10、新增數據的同時新增多列:curl -XPOST http://10.68.120.167:9204/wzxstu1/base/889?pretty -d '{"doc":{"name":"怕怕怕怕更新","age":"230","address":"北京東直門","addr":"aaaa","date":"2020-05-14"}}'

查詢數據驗證是否新增成功:curl -XGET http://10.68.120.167:9204/wzxstu1/base/889?pretty

 11、修改字段內容的同時修改類型:將age字段字符串類型,修改為數字類型:修改數據的同時修改字段類型:curl -XPOST http://10.68.120.167:9204/wzxstu1/base/889?pretty -d '{"doc":{"name":"類型類型","age":6666,"address":"杭州"}}'

 查詢數據驗證是否新增成功:curl -XGET http://10.68.120.167:9204/wzxstu1/base/889?pretty

12、根據ID刪除數據:curl -XDELETE http://10.68.120.167:9204/wzxstu1/base/880?pretty

 查詢是否刪除成功:curl -XGET http://10.68.120.167:9204/wzxstu1/base/880?pretty

 13、批量修改數據 :

curl -XPOST http://10.68.120.167:9204/wzxstu1/base//_bulk?pretty -d '
{"index":{"_id":"20"}}
{"name":"趙思","age":12}
{"index":{"_id":"15"}}
{"name":"錢三一","age":13}
'

14、查詢索引所有數據方式1:curl http://10.68.120.167:9204/wzxstu1/_search?q=*&pretty

查詢索引所有數據方式2:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"match_all":{

}
}
}
'

查詢索引所有數據方式3:curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '{"query":{ "match_all":{}}}'

查詢索引所有數據方式4:size不指定默認顯示10條

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"match_all":{

}
},
"size":1
}
'

 15、分頁查詢,從第10條,返回10條:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"match_all":{

}
},
"from": 10,
"size": 10
}
'

16、按照age字段倒序排序 sort,取出20條:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '

{
"query":{
"match_all":{

}
},
"sort":{
"age":{
"order":"desc"
}
},
"from": 0,
"size": 2
}
'

17、只返回想查詢的部分字段:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"match_all":{

}
},
"_source":[
"name",
"addr"
]
}
'18、條件匹配查詢 查詢age=19的數據:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"match":{
"name":"wzx"
}
}
}
'19、查詢address中包含 “北京” 的數據:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"match":{
"addr":"河北"
}
}
}
'

20、查詢 address中 包含“wzx” 或 “周潤發”的所有數據 【匹配單個詞語  空格分隔】:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"match":{
"name":"wzx 周潤發"
}
}
}
'

21、查詢address中包含“北京 西安” 完整詞語的【短語匹配,“北京 西安”作為一個完整詞語查詢】:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"match_phrase":{
"address":"北京 西安"
}
}
}

22、布爾查詢bool   and查詢,必須同時滿足 address中包含“北京”,又要滿足address中包含“西安”,must表示所有查詢必須都為真才被認為匹配:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"bool":{
"must":[
{
"match":{
"address":"北京"
}
},
{
"match":{
"address":"西安"
}
}
]
}
}
}
'

23、布爾查詢bool  or查詢 address中包含“北京” 或者 address中包含“西安” 都可以,should 表示查詢列表中只要有任何一個為真則認為匹配

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"bool":{
"should":[
{
"match":{
"address":"北京"
}
},
{
"match":{
"address":"西安"
}
}
]
}
}
}
'

24、布爾查詢bool   都不能滿足的   既不能包含這個,也不能包含那個:must_not表示查詢列表中沒有為真的(也就是全為假)時則認為匹配

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"bool":{
"must_not":[
{
"match":{
"address":"北京"
}
},
{
"match":{
"address":"西安"
}
}
]
}
}
}
'

25、布爾查詢  多條件組合  查詢:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"bool":{
"must":[
{
"match":{
"age":200
}
}
],
"must_not":[
{
"match":{
"address":"西安"
}
}
]
}
}
}
'

26、范圍查詢 range 查詢年齡25-30之間的:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"query":{
"range":{
"age":{
"gte":25,
"lte":30
}
}
}
}
'

27、聚合查詢 aggs,按照name進行聚合分組,然后按照記錄數,從大到小排序,默認返回前10條:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"size":0,
"aggs":{
"group_by_name":{
"terms":{
"field":"name"
}
}
}
}
'

28、聚合查詢 aggs ,求age的平均值:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"size":0,
"aggs":{
"average_age":{
"avg":{
"field":"age"
}
}
}
}
'

29、按name分組,求age的平均值:

curl -XPOST http://10.68.120.167:9204/wzxstu1/_search?pretty -d '
{
"size":0,
"aggs":{
"group_by_name":{
"terms":{
"field":"name"
},
"aggs":{
"average_age":{
"avg":{
"field":"age"
}
}
}
}
}
}
'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM