zoukankan      html  css  js  c++  java
  • Elastic search 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

    命令格式:
    –curl -X指定http请求的方法(如HEAD GET POST PUT DELETE)-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
    根据条件进行查询
    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"}}'
    (部分更新)

    转载自http://www.cnblogs.com/mycd/p/7859792.html

  • 相关阅读:
    solr 简要笔记
    JQuery select 编程时选中原有的值
    java设计模式图
    java设计模式
    qq空间微博等更多社交平台分享
    API调用开发demo
    fastJson
    小程序开发
    史上最全的机器学习资料(上)
    大数据”学习资源(下)
  • 原文地址:https://www.cnblogs.com/double-orange/p/10049369.html
Copyright © 2011-2022 走看看