• elasticsearch CURL命令


    CURL命令简单可以认为是在命令行下访问url的一个工具,是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。

    首先需要在后台启动elasticsearch
    elasticsearch-2.2.0/bin/elasticsearch -d
    启动kibana(便于Web端进行查看)
    kibana-4.4.1-linux-x64/bin/kibana

    也可以安装chrome head插件进行简单的可视化查看

    命令格式:
    –curl -X指定http请求的方法(如HEAD GET POST PUT DELETE)httpUrl -d '指定要传输的数据'

    例子:
    建立索引库company,PUT和POST都可以:
    curl -XPUT 'http://localhost:9200/company'
    索引库名称必须要全部小写,不能以下划线开头,也不能包含逗号

    创建索引,其中employee是type,1是document,-d是指定要传输的数据(遵循JSON格式):
    curl -XPOST http://localhost:9200/company/employee/1 -d
    '{
    "first_name" : "John",
    "last_name" : "Smith",
    "age" : 25,
    "about" : "I love to go rock climbing",
    "interests": [ "sports", "music" ]
    }'

    如果想要确定我们创建的都是全新的内容,可以使用?op_type=create、_create
    curl -XPUT http://localhost:9200/company/employee/2?op_type=create -d '{"name":“zs","age":25}'
    curl -XPUT http://localhost:9200/company/employee/2/_create -d '{"name":“laoxiao","age":25}'
    创建成功会返回201 Created/409 Conflict

    根据员工id查询(在任意的查询字符串中添加pretty参数,es可以得到易于识别的json结果)
    curl -XGET http://localhost:9200/company/employee/1?pretty
    curl后添加-i参数,就能得到反馈头文件
    curl -i 'http://localhost:9200/company/employee/1?pretty'

    检索文档中的一部分,只显示name,age字段
    curl -XGET http://localhost:9200/company/employee/1?_source=name,age
    如果只需要source的数据
    curl -XGET http://localhost:9200/company/employee/1/_source
    查询全部(默认返回前面的10个)
    curl -XGET http://localhost:9200/company/employee/_search?pretty
    根据条件进行查询
    curl -XGET http://localhost:9200/company/employee/_search?q=last_name:Smith

    使用mget API获取多个文档
    curl -XGET http://localhost:9200/_mget?pretty -d '{
    "docs":[{
    "_index":"company",
    "_type":"emp",
    "_id":2,
    "_source":"name"
    },{
    "_index":"website",
    "_type":"blog",
    "_id":2
    }]}'

    如果只想检查一下文档是否存在,你可以使用HEAD来替代GET方法,这样就只会返回HTTP头文件:
    curl -i -XHEAD http://localhost:9200/company/employee/1

    Elasticsearch的版本控制
    首先得到需要修改的文档,获取版本(_version)号
    curl -XGET http://localhost:9200/company/employee/1
    在执行更新操作的时候把版本号传过去
    curl -XPUT http://localhost:9200/company/employee/1?version=2 -d '{"name":"zs","age":25}'
    (覆盖)
    curl -XPOST http://localhost:9200/company/employee/1/_update?version=3 -d '{"doc":{"city":"beijing","car":"BMW"}}'
    (部分更新)

    删除索引

    curl -XDELETE http://localhost:9200/company

    查看type的元数据(数据类型...)

    curl -XGET 'http://localhost:9200/index1/_mapping/type1?pretty'

  • 相关阅读:
    MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记录3
    19c上ADG主库sys密码修改会影响备库同步吗?
    MySQL中sql_mode的设置
    [自制工具]批量后台更新统计信息
    openssl加解密实战
    [自制工具]简便易用的ADDM报告生成工具
    MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记录2
    MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记录1
    Windows11如何设置经典的右键菜单
    MVC3过滤器实现多语言
  • 原文地址:https://www.cnblogs.com/mycd/p/7859792.html
Copyright © 2020-2023  润新知