elasticsearch的簡單操作


前言

現在,讓我們啟動一個節點和kibana。
接下來的一切操作都在kibanaDev Tools下的Console里完成。

創建一篇文檔

現在,我們試圖將小黑的小姨媽的個人信息錄入elasticsearch。我們只要輸入:

PUT t1/doc/1
{
 "name": "小黑的小姨媽",
 "age": 18
}

PUT表示創建命令。雖然命令可以小寫,但是我們推薦大寫。在以REST ful風格返回的結果中:

{
  "_index" : "t1",
  "_type" : "type1",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

結果中的result則是操作類型,現在是created,表示第一次創建。如果我們再次點擊執行該命令,那么result則會是updated。我們細心則會發現_version開始是1,現在你每點擊一次就會增加一次。表示第幾次更改。

查詢所有索引

現在,我們再來學習一條命令:

GET _cat/indices?v

返回的結果如下圖:

上圖中,展示當前集群中索引情況,包括,索引的健康狀況、UUID、主副分片個數、大小等信息。你發現我們創建的t1索引了嗎?

查詢指定的索引信息

我們來單獨看看t1索引:

GET t1

返回的結果如下:

{
  "t1" : {
    "aliases" : { },
    "mappings" : {
      "doc" : {
        "properties" : {
          "age" : {
            "type" : "long"
          },
          "name" : {
            "type" : "text",
            "fields" : {
              "keyword" : {
                "type" : "keyword",
                "ignore_above" : 256
              }
            }
          }
        }
      }
    },
    "settings" : {
      "index" : {
        "creation_date" : "1553163739688",
        "number_of_shards" : "5",
        "number_of_replicas" : "1",
        "uuid" : "_7jNW5XATheeK84zKkPwlw",
        "version" : {
          "created" : "6050499"
        },
        "provided_name" : "t1"
      }
    }
  }
}

返回了t1索引的創建信息。

查詢文檔信息

那我們來查看我們剛才創建的那篇文檔:

GET t1/doc/1

返回的結果如下:

{
  "_index" : "t1",
  "_type" : "doc",
  "_id" : "1",
  "_version" : 2,
  "found" : true,
  "_source" : {
    "name" : "小黑的小姨媽",
    "age" : 18
  }
}

返回了我們剛才創建的文檔信息。
我們再來為小黑添加兩個姨媽:

PUT t1/doc/2
{
 "name": "小黑的二姨媽",
 "age": 16
}
PUT t1/doc/3
{
 "name": "小黑的三姨媽",
 "age": 19
}

剛才,我們學會了查詢小黑的一個姨媽,那么該如何查詢所有姨媽呢?

GET t1/doc/_search

返回結果如下:

{
  "took" : 7,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 3,
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "t1",
        "_type" : "doc",
        "_id" : "2",
        "_score" : 1.0,
        "_source" : {
          "name" : "小黑的二姨媽",
          "age" : 16
        }
      },
      {
        "_index" : "t1",
        "_type" : "doc",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "小黑的小姨媽",
          "age" : 18
        }
      },
      {
        "_index" : "t1",
        "_type" : "doc",
        "_id" : "3",
        "_score" : 1.0,
        "_source" : {
          "name" : "小黑的三姨媽",
          "age" : 19
        }
      }
    ]
  }
}

現在小黑跟他的姨媽們鬧了別扭,就想刪除這個姨媽,該怎么辦呢?

刪除指定索引

我們其實直接刪除這個t1索引就可以了:

DELETE /t1

DELETE 是刪除命令,返回結果如下:

{
  "acknowledged" : true
}

返回結果提示刪除確認成功。

如果此時再查詢索引情況,則會發現t1已經不存在了,所有的文檔也就不存在了。


歡迎斧正,that's all


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM