Elasticsearch的安裝與簡單使用


一、安裝

Elasticsearch是一個基於Apache Lucene(TM)的開源搜索引擎。它提供了一個分布式多用戶能力的全文搜索引擎,基於RESTful web接口。

(一)Elasticsearch下載與安裝

1、Elasticsearch的下載

官網下載有時太慢,這里分享一個鏈接:鏈接:https://pan.baidu.com/s/1u-3M4yr7zTjioYQZQKCeYQ 提取碼:vfr3

 下載完成后進行解壓,進入到如下目錄:

 可以看到里面有一個jdk的文件夾,所以你先需要將jdk的環境配置好:

2、配置jdk環境

  • JAVA_HOME配置

在系統環境變量中配置JAVA_HOME變量

  • 配置classpath
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

 

  •  編輯Path
%JAVA_HOME%\bin\;%JAVA_HOME%\jre\bin;

  • 測試是否安裝成功

3、啟動Elasticsearch

可以進入到其bin目錄下,點擊elasticsearch.bat直接運行:

 但是不出意外的話,應該很大可能失敗,此時我們需要看看錯誤信息,需要在cmd串口中進行運行,錯誤信息有以下情況:

  •  錯誤一
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in ve
rsion 9.0 and will likely be removed in a future release.

此時,我們需要修改elasticsearch目錄下的congfig目錄下的jvm.options文件:

 將-XX:+UseConcMarkSweepGC修改為-XX:+UseG1GC即可。

  • 錯誤二
Error occurred during initialization of VM
Initial heap size set to a larger value than the maximum heap size

此時我們還是修改上述配置文件,只需要將堆容量設置的小一些就可以了:

 這里我將之前的1G修改為500M,然后保存文件並重新啟動就ok了,成功啟動后我們可以進行驗證,訪問9200端口:

其詳細配置信息位於config目錄下的elasticsearch.yml文件中。

(二)kibana的下載與安裝

  kibana是elasticsearch的web版客戶端,我們可以通過它來連接已經啟動的elasticsearch,這樣操作起來就會更方便,注意的是kibana的版本必須與elasticsearch的版本保持一致,這里提供了資源地址:

鏈接:https://pan.baidu.com/s/1sBaGUzxYxe5nX8SKPK9AKQ
提取碼:6ba4
下載完成並且進行解壓,然后進入到bin目錄下:

直接點擊kibana.bat就會自動啟動運行,它會自動連接elasticsearch服務器,我們通過默認端口5601可以進行訪問:

kibana的詳細配置在其config目錄的kibana.yml文件中,包括連接elasticsearch的地址等信息。

二、簡單使用

(一)cued操作

1、增加數據

#格式:

PUT 索引名稱/類型/文檔id
{
"name":"zhangsan",
"age":23
}

例如:

PUT crm/user/1
{
  "name":"zhangsan",
  "age":23
}

執行結果為:

#! Deprecation: [types removal] Specifying types in document index requests is deprecated, use the 
typeless endpoints instead (/{index}/_doc/{id}, /{index}/_doc, or /{index}/_create/{id}).
{
  "_index" : "crm",
  "_type" : "user",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}
View Code

2、刪除數據

  • 刪除指定文檔
#格式:

DELETE 索引名稱/類型名稱/文檔id

例如:

DELETE crm/user/1

執行結果:

#! Deprecation: [types removal] Specifying types in document index requests is deprecated, use the /{index}/_doc/{id} endpoint instead.
{
  "_index" : "crm",
  "_type" : "user",
  "_id" : "1",
  "_version" : 2,
  "result" : "deleted",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 1,
  "_primary_term" : 1
}
View Code
  • 刪除索引
# 格式

DELETE 索引名稱

例如:

DELETE crm

執行結果為:

{
  "acknowledged" : true
}
View Code

3、更新數據

# 格式

POST 索引名稱/類型/文檔id/_update

{
    "doc":{"age":25}  
}

例如:

POST crm/user/1/_update
{
  "doc":{
    "age":25
  }
}

執行結果:

#! Deprecation: [types removal] Specifying types in document update requests is deprecated, use the endpoint /{index}/_update/{id} instead.
{
  "_index" : "crm",
  "_type" : "user",
  "_id" : "1",
  "_version" : 2,
  "result" : "updated",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 1,
  "_primary_term" : 1
}
View Code

4、查詢

 查詢有兩種方式,其一為參數查詢(query string),其二為結構化查詢(DSL)。

  • query string
# 格式

GET 索引名/類型/_search?q=age:25

實例:

GET crm/user/_search?q=age:25

執行結果為:

#! Deprecation: [types removal] Specifying types in search requests is deprecated.
{
  "took" : 2,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "crm",
        "_type" : "user",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "zhangsan",
          "age" : 25
        }
      }
    ]
  }
}
View Code
  • DSL
# 格式

GET 索引名/類型/_search

{
  “query”:{
    "match":{"age":25}
    }  
}

實例:

GET crm/user/_search
{
  "query":{
    "match":{"age":25}
  }
}

執行結果:

#! Deprecation: [types removal] Specifying types in search requests is deprecated.
{
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "crm",
        "_type" : "user",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "zhangsan",
          "age" : 25
        }
      }
    ]
  }
}
View Code

(二)通用查詢操作

1、判斷索引是否存在

# 格式

HEAD 索引名稱

例如:

#輸入
HEAD crm

#輸出
200 - OK

2、查詢所有索引

#命令

GET _cat/indices

例如:

#輸入
GET _cat/indices

#輸出
yellow open crm                  Z2cstTIpSvi0nmjHSgMjYA 1 1 1 0  8.3kb  8.3kb
green  open .kibana_1            2MWTky02QrqSJLVtfPD9aA 1 0 4 0 17.5kb 17.5kb
green  open .kibana_task_manager Yw1dT1Q_RtyqW2huAUkROQ 1 0 2 0 45.4kb 45.4kb

3、查詢所有內容

# 命令

GET _search
{
"query": {
"match_all": {}
    }
}

例如:

GET _search
{
  "query": {
    "match_all": {}
  }
}

輸出:

{
  "took" : 2,
  "timed_out" : false,
  "_shards" : {
    "total" : 3,
    "successful" : 3,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 7,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : ".kibana_1",
        "_type" : "_doc",
        "_id" : "space:default",
        "_score" : 1.0,
        "_source" : {
          "space" : {
            "name" : "Default",
            "description" : "This is your default space!",
            "color" : "#00bfb3",
            "_reserved" : true
          },
          "type" : "space",
          "references" : [ ],
          "updated_at" : "2020-01-09T15:21:14.811Z"
        }
      },
      {
        "_index" : ".kibana_1",
        "_type" : "_doc",
        "_id" : "config:7.0.0",
        "_score" : 1.0,
        "_source" : {
          "config" : {
            "buildNum" : 23117
          },
          "type" : "config",
          "references" : [ ],
          "updated_at" : "2020-01-09T15:21:41.656Z"
        }
      },
      {
        "_index" : ".kibana_1",
        "_type" : "_doc",
        "_id" : "telemetry:telemetry",
        "_score" : 1.0,
        "_source" : {
          "telemetry" : {
            "enabled" : false
          },
          "type" : "telemetry",
          "references" : [ ],
          "updated_at" : "2020-01-09T15:29:26.961Z"
        }
      },
      {
        "_index" : ".kibana_1",
        "_type" : "_doc",
        "_id" : "maps-telemetry:maps-telemetry",
        "_score" : 1.0,
        "_source" : {
          "maps-telemetry" : {
            "mapsTotalCount" : 0,
            "timeCaptured" : "2020-01-11T11:51:14.760Z",
            "attributesPerMap" : {
              "dataSourcesCount" : {
                "min" : 0,
                "max" : 0,
                "avg" : 0
              },
              "layersCount" : {
                "min" : 0,
                "max" : 0,
                "avg" : 0
              },
              "layerTypesCount" : { },
              "emsVectorLayersCount" : { }
            }
          },
          "type" : "maps-telemetry",
          "references" : [ ],
          "updated_at" : "2020-01-11T11:51:14.761Z"
        }
      },
      {
        "_index" : ".kibana_task_manager",
        "_type" : "_doc",
        "_id" : "Maps-maps_telemetry",
        "_score" : 1.0,
        "_source" : {
          "type" : "task",
          "task" : {
            "taskType" : "maps_telemetry",
            "state" : """{"runs":1,"stats":{"mapsTotalCount":0,"timeCaptured":"2020-01-11T11:51:14.760Z","attributesPerMap":{"dataSourcesCount":{"min":0,"max":0,"avg":0},"layersCount":{"min":0,"max":0,"avg":0},"layerTypesCount":{},"emsVectorLayersCount":{}}}}""",
            "params" : "{}",
            "attempts" : 0,
            "scheduledAt" : "2020-01-11T11:51:13.743Z",
            "runAt" : "2020-01-11T16:00:00.000Z",
            "status" : "idle"
          },
          "kibana" : {
            "uuid" : "68f24dc0-cb43-430d-b601-005e146852c8",
            "version" : 7000099,
            "apiVersion" : 1
          }
        }
      },
      {
        "_index" : ".kibana_task_manager",
        "_type" : "_doc",
        "_id" : "oss_telemetry-vis_telemetry",
        "_score" : 1.0,
        "_source" : {
          "type" : "task",
          "task" : {
            "taskType" : "vis_telemetry",
            "state" : """{"runs":1}""",
            "params" : "{}",
            "attempts" : 1,
            "scheduledAt" : "2020-01-11T11:51:14.185Z",
            "runAt" : "2020-01-11T16:00:00.000Z",
            "status" : "idle"
          },
          "kibana" : {
            "uuid" : "68f24dc0-cb43-430d-b601-005e146852c8",
            "version" : 7000099,
            "apiVersion" : 1
          }
        }
      },
      {
        "_index" : "crm",
        "_type" : "user",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "zhangsan",
          "age" : 25
        }
      }
    ]
  }
}
View Code 


免責聲明!

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



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