菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
448
0

学习用Node.js和Elasticsearch构建搜索引擎(3):使用curl命令操作elasticsearch

原创
05/13 14:22
阅读数 52958

使用Elasticsearch不免要提到curl工具,curl是利用URL语法在命令行方式下工作的开源文件传输工具。官网地址:https://curl.haxx.se/

因为elasticsearch提供了标准的http接口,所以我们可以使用curl方便的访问elasticsearch。

下面收集了一些使用curl命令操作elasticsearch。

第一:_cat系列
_cat系列提供了一系列查询elasticsearch集群状态的接口。你可以通过执行

curl -XGET localhost:9200/_cat 获取所有_cat系列的操作

复制代码
$ curl -XGET localhost:9200/_cat
=^.^=
/_cat/allocation
/_cat/shards
/_cat/shards/{index}
/_cat/master
/_cat/nodes
/_cat/tasks
/_cat/indices
/_cat/indices/{index}
/_cat/segments
/_cat/segments/{index}
/_cat/count
/_cat/count/{index}
/_cat/recovery
/_cat/recovery/{index}
/_cat/health
/_cat/pending_tasks
/_cat/aliases
/_cat/aliases/{alias}
/_cat/thread_pool
/_cat/thread_pool/{thread_pools}
/_cat/plugins
/_cat/fielddata
/_cat/fielddata/{fields}
/_cat/nodeattrs
/_cat/repositories
/_cat/snapshots/{repository}
/_cat/templates
复制代码

第二:_cluster系列
1、查询设置集群状态

curl -XGET localhost:9200/_cluster/health?pretty=true
  pretty=true表示格式化输出
  level=indices 表示显示索引状态
  level=shards 表示显示分片信息

2、显示集群系统信息,包括CPU、JVM等等

curl -XGET localhost:9200/_cluster/stats?pretty=true

3、 显示集群的详细信息,包括节点、分片等。

curl -XGET localhost:9200/_cluster/state?pretty=true

4、获取集群堆积的任务。

curl -XGET localhost:9200/_cluster/pending_tasks?pretty=true

5、修改集群配置
举例:

curl -XPUT localhost:9200/_cluster/settings -d '{
    "persistent" : {
        "discovery.zen.minimum_master_nodes" : 2
    }
}'

transient 表示临时的,persistent表示永久的
6、对shard的手动控制

curl -XPOST ‘localhost:9200/_cluster/reroute’ -d ‘xxxxxx’

参考http://zhaoyanblog.com/archives/687.html
7、关闭节点
例如:关闭指定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'

关闭主节点

curl -XPOST 'http://localhost:9200/_cluster/nodes/_master/_shutdown'

关闭整个集群

$ curl -XPOST 'http://localhost:9200/_shutdown?delay=10s'
$ curl -XPOST 'http://localhost:9200/_cluster/nodes/_shutdown'
$ curl -XPOST 'http://localhost:9200/_cluster/nodes/_all/_shutdown'
delay=10s表示延迟10秒关闭

第三:_nodes系列
1、查询节点的状态

复制代码
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、获取索引

curl -XGET 'http://localhost:9200/{index}/{type}/{id}'

2、索引数据

curl -XPOST 'http://localhost:9200/{index}/{type}/{id}’ -d'{“a”:”avalue”,”b”:”bvalue”}'

3、删除索引

curl -XDELETE 'http://localhost:9200/{index}/{type}/{id}'

4、设置mapping

复制代码
curl -XPUT http://localhost:9200/{index}/{type}/_mapping -d '{
  "{type}" : {
    "properties" : {
      "date" : {
        "type" : "long"
      },
      "name" : {
        "type" : "string",
        "index" : "not_analyzed"
      },
      "status" : {
        "type" : "integer"
      },
      "type" : {
        "type" : "integer"
      }
    }
  }
}'
复制代码

5、获取mapping

curl -XGET http://localhost:9200/{index}/{type}/_mapping

6、搜索

复制代码
curl -XGET 'http://localhost:9200/{index}/{type}/_search' -d '{
    "query" : {
        "term" : { "user" : "kimchy" } //查所有 "match_all": {}
    },
    "sort" : [{ "age" : {"order" : "asc"}},{ "name" : "desc" } ],
    "from":0,
    "size":100
}
curl -XGET 'http://localhost:9200/{index}/{type}/_search' -d '{
    "filter": {"and":{"filters":[{"term":{"age":"123"}},{"term":{"name":"张三"}}]},
    "sort" : [{ "age" : {"order" : "asc"}},{ "name" : "desc" } ],
    "from":0,
    "size":100
} 
复制代码

 

参考原创链接地址:http://zhaoyanblog.com/archives/732.html

喜欢这篇文章?欢迎打赏~~

 

发表评论

0/200
448 点赞
0 评论
收藏