zoukankan      html  css  js  c++  java
  • 4.ElasticSearch的基本api操作

    1. ElasticSearch的Index

    1. 索引初始化

    在创建索引之前 对索引进行初始化操作
    指定shards数量和replicas数量

    curl -XPUT 'http://192.168.10.1:9200/library' -d {
        "settings":{
            "index":{
                "number_of_shards":5,
                "number_of_replicas":1,   
            }
        }
    }
    

    2. 查看索引信息

    1. GET 地址/索引名称/_settings 即可查看索引信息

      执行   
      curl -X GET http://192.168.10.1:9200/test/_settings 
      返回
      {
          "test": {
              "settings": {
                  "index": {
                      "creation_date": "1507896234377",
                      "number_of_shards": "5",
                      "number_of_replicas": "1",
                      "uuid": "fhI9dJWsQoCswafewXNqrA",
                      "version": {
                          "created": "5010299"
                      },
                      "provided_name": "test"
                  }
              }
          }
      }
      

    3. 查看多个索引信息

    1. GET 地址/索引名称,索引名称/_settings 即可查看2个索引信息

      执行
      curl -X GET http://192.168.10.1:9200/test,test2/_settings
      返回
      {
          "test": {
              "settings": {
                  "index": {
                      "creation_date": "1507896234377",
                      "number_of_shards": "5",
                      "number_of_replicas": "1",
                      "uuid": "fhI9dJWsQoCswafewXNqrA",
                      "version": {
                          "created": "5010299"
                      },
                      "provided_name": "test"
                  }
              }
          }
          "test2": {
              "settings": {
                  "index": {
                      "creation_date": "1506320574153",
                      "number_of_shards": "5",
                      "number_of_replicas": "1",
                      "uuid": "Ol-fhI9dJWsQoNqrA1jE1w",
                      "version": {
                          "created": "5010299"
                      },
                      "provided_name": "test2"
                  }
              }
          }
      }
      

    4. 查看所有索引信息

    1. GET 地址/all/_settings 查看所有索引信息

      执行
      curl -X GET http://192.168.10.1:9200/_all/_settings
      返回
      省略了 因为太多了
      

    5. 查看所有索引列表

    1. GET 地址/_cat/indices?v

      执行
      curl -X GET 'http://192.168.10.1:9200/_cat/indices?v='
      返回
      省略了 因为太多了    
      

    2. ElasticSearch的CURD

    1. 创建索引

    1. 创建索引

      创建一个索引名称为test9的索引
      curl -X PUT http://192.168.10.1:9200/test9/ 
      返回
      {
      "acknowledged": true,
      "shards_acknowledged": true
      }
      
    2. 创建索引及类型和文档

      PUT 地址/索引名称/type名称/文档id
      执行
      curl -X PUT http://192.168.10.1:9200/test10/people/1 -d 
      '{
      	"title": "test10"
      }' 
      返回
      {
      "_index": "test10",
      "_type": "people",
      "_id": "AV8fmZO1Jq0BrQx-qzvq",
      "_version": 1,
      "result": "created",
      "_shards": {
          "total": 2,
          "successful": 2,
          "failed": 0
      },
      "created": true
      }
      
    3. 创建索引及类型,不设置文档ID(因为会自动设置文档ID)

      POST 地址/索引名称/type名称/ 
      执行
      curl -X POST http://192.168.10.1:9200/test11/people/ -d 
      '{
      	"title": "test11"
      }' 
      返回
      {
      "_index": "test11",
      "_type": "people",
      "_id": "AV8fmZO1Jq0BrQx-qzvq",
      "_version": 1,
      "result": "created",
      "_shards": {
          "total": 2,
          "successful": 2,
          "failed": 0
      },
      "created": true
      }
      

    2. 查看索引相关信息

    1. 根据id查看文档信息

      get 地址/索引名称/type名称/文档id
      执行
      curl -X GET http://192.168.10.1:9200/test10/people/1
      返回
      {
      "_index": "test10",
      "_type": "people",
      "_id": "1",
      "_version": 1,
      "found": true,
      "_source": {
          "title": "test10"
      }
      }
      
    2. 通过source获取指定字段

      get /索引名称/type名称/文档id?_source=字段
      执行
      curl -X GET http://192.168.10.1:9200/test10/people/1?_source=title
      返回
      {
      "_index": "test10",
      "_type": "people",
      "_id": "1",
      "_version": 1,
      "found": true,
      "_source": {
          "title": "test10"
      }
      }    
      

    3. 更新索引

    1. 更新同一id下的信息

      PUT 地址/索引名称/type名称/文档id
      执行
      curl -X PUT http://192.168.10.1:9200/test10/people/1 -d 
      '{
      	"title": "test10"
      }' 
      返回
      {
      "_index": "test10",
      "_type": "people",
      "_id": "1",
      "_version": 2,
      "result": "updated",
      "_shards": {
          "total": 2,
          "successful": 2,
          "failed": 0
      },
      "created": false
      }    
      
    2. 更新指定字段

      POST 地址/索引名称/type名称/文档id/_update
      执行
      curl -X POST  http://192.168.10.1:9200/test10/people/1 -d 
      '{
      	"doc":{
      		"title": "testt12"
      	}
      }'
      返回
      {
      "_index": "test10",
      "_type": "people",
      "_id": "1",
      "_version": 3,
      "found": true,
      "_source": {
          "doc": {
              "title": "testt12"
          }
      }
      }
      

    4. 删除索引及文档

    1. 删除索引

      delete 地址/索引名称
      执行
      curl -X DELETE  http://192.168.10.1:9200/test10
      返回
      {
      "acknowledged": true
      }
      
    2. 删除文档

      delete 地址/索引名称/type名称/文档id
      执行
      curl -X DELETE  http://192.168.10.1:9200/test10/people/1
      {
      "found": true,
      "_index": "test10",
      "_type": "people",
      "_id": "1",
      "_version": 4,
      "result": "deleted",
      "_shards": {
          "total": 2,
          "successful": 2,
          "failed": 0
      }
      }
      
  • 相关阅读:
    poj3614 Sunscreen 题解报告
    poj2299 Ultra-QuickSort 题解报告
    poj3784 Running Median 题解报告(对顶堆)
    CH103 Cinema 题解报告
    poj1845 Sumdiv 题解报告
    poj2018 Best Cow Fences 题解报告
    $CF311B Cats Transport$ 斜率优化
    斜率优化入门题:任务安排$123$ : )
    $Poj1821 Fence $单调队列优化$DP$
    《算法竞赛》$0×00$基本算法
  • 原文地址:https://www.cnblogs.com/liu-yao/p/4ElasticSearch-de-ji-benapi-cao-zuo.html
Copyright © 2011-2022 走看看