export elasticsearchwebaddress=localhost:9200
# 1. Add document
curl -X PUT "$elasticsearchwebaddress/megacorp/employee/1" -d '
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}'

curl -X DELETE "$elasticsearchwebaddress/megacorp/employee/1" -d '
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}'

curl -X PUT "$elasticsearchwebaddress/megacorp/employee/2" -d '
{
    "first_name" :  "Jane",
    "last_name" :   "Smith",
    "age" :         32,
    "about" :       "I like to collect rock albums",
    "interests":  [ "music" ]
}'

curl -X PUT "$elasticsearchwebaddress/megacorp/employee/3" -d '
{
    "first_name" :  "Douglas",
    "last_name" :   "Fir",
    "age" :         35,
    "about":        "I like to build cabinets",
    "interests":  [ "forestry" ]
}'

# 2. Retrive information
curl -X GET "$elasticsearchwebaddress/megacorp/employee/1"


curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search"

curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search?q=last_name:Smith"

curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search" -d '
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}'

curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search" -d '
{
    "query" : {
        "filtered" : {
            "filter" : {
                "range" : {
                    "age" : { "gt" : 30 } 
                     }
                },
            "query" : {
                "match" : {
                    "last_name" : "smith" 
                      }
               }
          }
     }
}'

curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search" -d '
{
    "query" : {
        "match" : {
            "about" : "rock climbing"
        }
    }
}'

curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search" -d '
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    }
}'

curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search" -d '
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    },
    "highlight": {
        "fields" : {
            "about" : {}
        }
    }
}'

curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search" -d '
{
  "aggs": {
    "all_interests": {
      "terms": { "field": "interests" }
    }
  }
} '

curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search" -d '
{
  "query": {
    "match": {
      "last_name": "smith"
    }
  },
  "aggs": {
    "all_interests": {
      "terms": {
        "field": "interests"
      }
    }
  }
}'

curl -X GET "$elasticsearchwebaddress/megacorp/employee/_search" -d '
{
    "aggs" : {
        "all_interests" : {
            "terms" : { "field" : "interests" },
            "aggs" : {
                "avg_age" : {
                    "avg" : { "field" : "age" }
                }
            }
        }
    }
}'

curl -X GET "$elasticsearchwebaddress/_cluster/health"
curl -X GET "$elasticsearchwebaddress/_cluster/health?pretty"

curl -X PUT "$elasticsearchwebaddress/blogs" -d '
{
   "settings" : {
      "number_of_shards" : 3,
      "number_of_replicas" : 1
   }
}'
curl -X PUT "$elasticsearchwebaddress/website/blog/123" -d '
{
  "title": "My first blog entry",
  "text":  "Just trying this out...",
  "date":  "2014/01/01"
}'
curl -i -X GET http://localhost:9200/website/blog/124?pretty

curl -i -X GET http://localhost:9200/website/blog/123?pretty\&_source=title,text
curl -i -X GET http://localhost:9200/website/blog/123?pretty

curl -i -X GET http://localhost:9200/website/blog/123/_source

#Checking whether document exists.
curl -i -XHEAD http://localhost:9200/website/blog/123

#Updating a document
curl  -X PUT $elasticsearchwebaddress/website/blog/123 -d '
{
  "title": "My first blog entry",
  "text":  "I am starting to get the hang of this...",
  "date":  "2014/01/02"
}'

curl -X PUT "$elasticsearchwebaddress/website/blog/124" -d '
{
  "title": "My first blog entry",
  "text":  "Just trying this out...",
  "date":  "2014/01/01"
}'

curl -X DELETE $elasticsearchwebaddress/website/blog/123
curl -X DELETE $elasticsearchwebaddress/website/blog/1232

curl  -X PUT $elasticsearchwebaddress/website/blog/1232 -d '
{
  "title": "My first blog entry",
  "text":  "I am starting to get the hang of this...",
  "date":  "2014/01/02"
}'

curl  -X PUT $elasticsearchwebaddress/website/blog/1/_create -d '
{
  "title": "My first blog entry",
  "text":  "Just trying this out..."
}'

curl  -X PUT $elasticsearchwebaddress/website/blog/1?version=1 -d '
{
  "title": "My first blog entry",
  "text":  "Starting to get the hang of this..."
}'

curl  -X PUT $elasticsearchwebaddress/website/blog/2?version=5\&version_type=external -d '
{
  "title": "My first external blog entry",
  "text":  "Starting to get the hang of this..."
}'

curl  -X PUT $elasticsearchwebaddress/website/blog/2?version=10\&version_type=external -d '
{
  "title": "My first external blog entry",
  "text":  "This is a piece of cake..."
}'

#Partial update document

curl -X GET $elasticsearchwebaddress/website/blog/1?pretty
curl -X POST $elasticsearchwebaddress/website/blog/1/_update -d '
{
   "doc" : {
      "tags" : [ "testing" ],
      "views": 0
   }
}'

#Use scripts to update the value
curl -X POST $elasticsearchwebaddress/website/blog/1/_update -d '
{
   "script" : "ctx._source.views+=1"
}'

curl -X GET $elasticsearchwebaddress/website/blog/1?pretty
curl -X POST $elasticsearchwebaddress/website/blog/1/_update -d '
{
   "script" : "ctx._source.tags+=new_tag",
   "params" : {
      "new_tag" : "search"
   }
}'

curl -X GET $elasticsearchwebaddress/website/blog/1?pretty

curl -X POST $elasticsearchwebaddress/website/blog/1/_update -d "
{
   \"script\" : \"ctx.op = ctx._source.views == count ? 'delete' : 'none'\",
    \"params\" : {
        \"count\": 1
    }
}"

#upset
#cannot found 
curl -X GET $elasticsearchwebaddress/website/pageviews/1?pretty

curl -X POST $elasticsearchwebaddress/website/pageviews/1/_update -d '
{
   "script" : "ctx._source.views+=1",
   "upsert": {
       "views": 1
   }
}'

curl -X GET $elasticsearchwebaddress/website/pageviews/1?pretty

curl -X POST $elasticsearchwebaddress/website/pageviews/1/_update?retry_on_conflict=5 -d '
{
   "script" : "ctx._source.views+=1",
   "upsert": {
       "views": 0
   }
}'

#Retrieve multiple documents through multiple requests.
curl -X GET $elasticsearchwebaddress/_mget?pretty -d '
{
   "docs" : [
      {
         "_index" : "website",
         "_type" :  "blog",
         "_id" :    2
      },
      {
         "_index" : "website",
         "_type" :  "pageviews",
         "_id" :    1,
         "_source": "views"
      }
   ]
}'

curl -X GET $elasticsearchwebaddress/website/blog/_mget?pretty -d '
{
   "docs" : [
      { "_id" : 2 },
      { "_type" : "pageviews", "_id" :   1 }
   ]
}'

curl -X GET $elasticsearchwebaddress/website/blog/_mget?pretty -d '
{
   "ids" : [ "2", "1" ]
}'

#bulk API allows us to make multiple create, index, update or delete requests in a single step.
curl -X POST $elasticsearchwebaddress/_bulk -d '
{ "delete": { "_index": "website", "_type": "blog", "_id": "123" }} 
{ "create": { "_index": "website", "_type": "blog", "_id": "123" }}
{ "title":    "My first blog post" }
{ "index":  { "_index": "website", "_type": "blog" }}
{ "title":    "My second blog post" }
{ "update": { "_index": "website", "_type": "blog", "_id": "123", "_retry_on_conflict" : 3} }
{ "doc" : {"title" : "My updated blog post"} }
'
curl -X GET $elasticsearchwebaddress/website/blog

curl operate elasticsearch的更多相关文章

  1. 使用cURL尝试ElasticSearch

    测试环境:debian 9官网提供了 deb,rpm,源码下载 官方下载地址:https://www.elastic.co/downloads/elasticsearch 通过源码安装会遇到一些小问题 ...

  2. Curl操作Elasticsearch的常用方法

    Elasticsearch对于文档操作,提供了以下几种API,本文就说明如何使用curl方式来调用这些API. API种类 单文档操作API 1.* Index API 索引文档 * 为文档创建索引 ...

  3. elasticsearch(5) curl 操作elasticsearch

    创建索引之前可以对索引做初始化操作, 比如指定shards数量以及replicas的数量.     library为索引的名称 CURL -XPUT 'http://192.168.1.10:9200 ...

  4. Curl实现ElasticSearch的增删改查

    一.添加数据(laravel必须安装Curl扩展) $data = [ 'username'=>"张三", 'sex'=>"女", 'age'=&g ...

  5. window下使用curl操作elasticsearch

    1.下载curlzip,https://curl.haxx.se/download.html; 2.解压,在bin文件夹中找到curl.exe,右键“以管理员身份运行”,cmd e: 换盘符:出现E: ...

  6. Elasticsearch之CURL命令的DELETE

    也可以看我写的下面的博客 Elasticsearch之curl删除 Elasticsearch之curl删除索引库 删除,某一条数据,如下 [hadoop@master elasticsearch-] ...

  7. Elasticsearch【JAVA REST Client】客户端操作

    ES系统作为集群,环境搭建非常方便简单. 现在在我们的应用中,如何对这个集群进行操作呢? 我们利用ES系统,通常都是下面的架构: 在这里,客户端的请求通过LB进行负载均衡,因为操作任何一个ES的实例, ...

  8. Elasticsearch教程-从入门到精通(转载)

    转载,原文地址:http://mageedu.blog.51cto.com/4265610/1714522?utm_source=tuicool&utm_medium=referral 各位运 ...

  9. Elasticsearch简介与安装

    搜索 就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息 垂直搜索 站内搜索 互联网搜索 电商网站,招聘网站,新闻网站,各种app IT系 ...

随机推荐

  1. POJ1160 Post Office[序列DP]

    Post Office Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18680   Accepted: 10075 Des ...

  2. MySQL 5.7.x 配置教程

    软件环境 操作系统:windows 10 x64 企业版 MySQL:mysql-5.7.11-winx64 MySQL官网下载:http://downloads.mysql.com/archives ...

  3. Unity的DrawCall

    图形引擎渲染画面的过程 Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述: 1. 可见性测试 1. 引擎首先经过简单的可见性测试,确定摄像机可以看到的物体 2. 准备好物 ...

  4. linux下安装python

    在Linux下安装Python的操作相当简单,按如下步骤操作即可: 命令: wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgzt ...

  5. 转: Git远程操作详解 (阮一峰)

    说明: 通过这个说明终于把远程操作给搞明白了. http://www.ruanyifeng.com/blog/2014/06/git_remote.html

  6. 部署Linux下的man慢查询中文帮助手册环境

    对于Linux运维工作者来说,man查询手册绝对是一个好东西.当我们对一些命令或参数有些许模糊时,可以通过man查询手册来寻求帮助.其实Linux之所以强大, 就在于其强大的命令行, 面对如此繁杂的命 ...

  7. php正则表达式治疗结巴

    用正则表达式去解决结巴这个问题可以通过下面进行解决: 解决思路是: 先找到重复的不部分 用str_replace($source,$replace,$str);来进行代理 下面分两种情况,最后将这两种 ...

  8. 05传智_jbpm与OA项目_部门模块中增加部门的jsp页面增加一个在线编辑器功能

    这篇文章讲的是在线编辑器功能,之前的部门模块中,增加部门的功能jsp页面起先是这么做的.

  9. LINQ 常见用法

    以下数据源都假设为data 1.获取某列的不重复数据 List<int> ids =  data.Select(t => t.ID).Distinct().ToList(); 2.对 ...

  10. 传递多个参数并获取Web API的数据

    近段时间学习Web Api觉得非常有意思.默认的路由情况之下,获取数据时,它不必指定Action操作名. 还有另外感想,就是自从学习asp.net MVC之后,加上jQuery,让Insus.NET已 ...