ElasticSearch7.6.2安裝與簡單操作

cgl_dong發表於2020-06-12

ElasticSearch7.6.2安裝與簡單操作

Es系列工具都是開箱即用,所以安裝比較簡單,各個系統下都是解壓即可

前置環境:

windows10

ES7.6.2

Kibana7.6.2 :Es的視覺化操作工具

ES中值得注意的事項:

​ type逐漸移除,預計版本8中將消失

​ head外掛在高等級的版本中,不支援直接安裝,需要nodejs支援,我沒有使用這個外掛。

​ SpringBoot與Es的整合,需要注意版本支援,且在7.x的ES版本中客戶端更新為高階操作客戶端,在 SpringBoot中的ElasticSearchTemplate過時,建議使用高階客戶端或者ElasticSearchRestTemplate。

一、ES、Kibaba安裝

在以下目錄找到相應的壓縮檔案,下載即可。

https://elasticsearch.cn/download/

分別解壓到對應目錄:

在這裡插入圖片描述

bin:下面存放著Es啟動檔案         elasticsearch.bat
config:配置目錄
data:資料目錄
jdk、lib:Java執行環境以及依賴包
logs:日誌目錄
modules、plugins:模組及外掛目錄,head外掛可以存放在plugins目錄下

在config目錄下的elasticsearch.yml檔案末尾新增跨域允許:

#允許跨域讓各種視覺化工具連線到Es
http.cors.enabled: true
http.cors.allow-origin: "*"

點選bin目錄下的啟動檔案:訪問本機9200埠,瀏覽器會返回一段json資料,包含Es資訊等。

{
  "name" : "LAPTOP-UBIBQATL",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "3dHFiRJdQW-G4HKoB-lzAg",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

ES安裝成功。

同理、找到kibana目錄下的bin中的啟動檔案,就可以啟動kibana了.

config目錄下的配置檔案可以配置:

#國際化、介面支援中文
i18n.locale: "zh-CN"

啟動Kinaba後,訪問5601埠,進入視覺化介面。

二、簡單操作

Es支援Rest風格,在kinaba中使用開發者工具,輸入一下程式碼,分別執行。

提交、更新資料

PUT /boot/user/1
{
  "name":"Jaskson",
  "age":18,
  "gender":"male",
  "desc":["碼農","直男","女裝大佬"]
}

POST /boot/user/2
{
  "name":"Smish",
  "age":16,
  "gender":"male",
  "desc":["產品經理","藝術家"]
}

#!POSTPUT都有更新、提交的功能。
#!更新時建議使用POST(update),因為PUT不補全資料時,會用空資料覆蓋原資料。

#!反饋回來的語句如下:
{
  "_index" : "boot",
  "_type" : "user",
  "_id" : "1",
  "_version" : 2,   //資訊版本,已經被修改過
  "result" : "updated",		//操作型別
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 4,
  "_primary_term" : 3
}

查詢資料

使用GET進行資料查詢操作。

#!查詢by id
GET /boot/user/_search


#! 查詢通過Json引數
GET /boot/user/_search?q=name:"Jaskson"

#!同上
GET /boot/user/_search
{
  "query": {
    "match": {
     "name":"Jaskson"
    }
  }
}


#!返回資料
{
  "took" : 713,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 0.6931471,
    "hits" : [
      {
        "_index" : "boot",
        "_type" : "user",
        "_id" : "1",
        "_score" : 0.6931471,
        "_source" : {
          "name" : "Jaskson",
          "age" : 18,
          "gender" : "male",
          "desc" : [
            "碼農",
            "直男",
            "女裝大佬"
          ]
        }
      }
    ]
  }
}


略微複雜的查詢:

#!中文可以分詞
GET /boot/user/_search
{
  "query": {
    "match": {
     "desc":"碼"
    }
  }
}


#! 過濾
GET /boot/user/_search
{
  "query": {
    "match": {
     "desc":"碼"
    }
  },
  "_source": ["name","desc"]
}

#! 排序
GET /boot/user/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "age": {
        "order": "asc"
      }
    }
  ]
}

刪除資料

DELETE刪除資料

DELETE /boot/user/2

{
  "_index" : "boot",
  "_type" : "user",
  "_id" : "2",
  "_version" : 2,
  "result" : "deleted",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 2,
  "_primary_term" : 3
}

相關文章