首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Elasticsearch 安裝部署與基本操作入門教程

     編輯:Java 相關知識

環境準備與安裝

1. 標準版安裝

  • 下載:官網下載頁 (選擇對應系統版本)
  • 解壓即用,無需安裝:tar -xzf elasticsearch-8.x.x-linux-x86_64.tar.gz
  • 啟動:./bin/elasticsearch (前台) 或 ./bin/elasticsearch -d (後台)
  • 驗證:瀏覽器訪問 https://localhost:9200/,返回集群信息表示成功

2. 響應信息解析

{
  "name" : "node-1",                    // 節點名稱 (可在 elasticsearch.yml 配置)
  "cluster_name" : "elasticsearch",     // 集群名稱
  "version" : {
    "number" : "8.11.0",                // ES 版本
    "build_hash" : "...",               // 構建哈希
    "lucene_version" : "9.8.0"          // 底層 Lucene 版本
  },
  "tagline" : "You Know, for Search"
}

3. 目錄結構說明

目錄用途
bin啟動腳本、插件管理工具
config配置文件 (elasticsearch.yml, jvm.options, log4j2.properties)
lib核心依賴 JAR 包
modules功能模塊 (語言分析器、發現機制等)
plugins安裝的插件目錄
data數據持久化存儲 (索引、轉換日誌)
logs日誌文件

核心插件安裝

1. Head 插件 (集群可視化監控)

# 安裝
./bin/elasticsearch-plugin install mobz/elasticsearch-head

# 訪問
https://localhost:9200/_plugin/head/

功能:索引管理、數據瀏覽、DSL 查詢構建、集群健康狀態監控。

2. Marvel / X-Pack (官方監控告警)

# 現代版本整合在 X-Pack 中 (基本授權免費)
./bin/elasticsearch-plugin install x-pack

# 訪問
https://localhost:9200/_plugin/marvel/ (舊版) 或 Kibana 界面

3. 中文分詞插件 (IK Analyzer)

# 下載對應版本 zip 包
./bin/elasticsearch-plugin install file:///path/to/elasticsearch-analysis-ik-8.11.0.zip

# 配置生效需重啟 ES

Head 插件實操入門

1. 創建索引

點擊「新建索引」→ 輸入索引名 (如 my_index) → 設置分片數 (默認 5) 和副本數 (默認 1) → 確定。

2. 新增文檔 (POST /index/_doc/id)

  • 選擇「復合查詢」標籤
  • 索引名:my_index,類型:_doc (7.x+ 單類型),ID:1
  • 操作選 POST (相當於 INSERT)
  • JSON 數據:{"title": "Elasticsearch 入門", "content": "基於 Lucene 的搜索引擎"}
  • 提交 → 右側顯示 "result": "created" 表示成功

3. 查詢文檔 (GET /index/_doc/id)

  • 同界面選擇 GET 操作
  • 返回完整文檔信息,包含 _source 原始數據

4. 搜索文檔 (GET /index/_search?q=...)

  • 選擇 GET,路徑:my_index/_search
  • 參數:q=title:Elasticsearch (Lucene 查詢語法)
  • 返回 hits 匹配結果,total 命中數,_score 相關性評分

REST API 操作對照表

HTTP 方法ES 操作說明
POST創建/更新文檔指定 ID 創建,或無 ID 自動生成
PUT全量更新/創建索引指定資源位置,冪等操作
GET查詢文檔/索引/搜索獲取資源,安全冪等
DELETE刪除文檔/索引移除資源

Mapping 映射基礎

Mapping 類似數據庫 Schema,定義字段類型、分析器、索引方式:

PUT /my_index
{
  "mappings": {
    "properties": {
      "title": { "type": "text", "analyzer": "ik_max_word" },
      "content": { "type": "text", "analyzer": "ik_smart" },
      "create_time": { "type": "date" },
      "status": { "type": "keyword" }  -- 精確匹配、聚合、排序
    }
  }
}

關鍵類型:text (全文檢索,會分詞)、keyword (精確值,不分詞)、date、integer/long、boolean、nested (嵌套對象)。

生產環境部署建議

  • JVM 內存:設置 -Xms4g -Xmx4g (不超過物理內存 50%,且 ≤ 32GB 觸發壓縮指針)
  • 系統優化:vm.max_map_count=262144、關閉 Swap、文件描述符 65535
  • 集群模式:至少 3 個 Master 節點 (discovery.seed_hosts、cluster.initial_master_nodes)
  • 數據熱冷分離:ILM 索引生命周期管理,熱數據 SSD、冷數據 HDD
  • 安全認證:啟用 X-Pack Security,配置 TLS、RBAC 權限控制

總結

Elasticsearch 作為基於 Lucene 的分佈式搜索引擎,安裝輕量、RESTful API 友好、水平擴展強。入門建議:先用 Head 插件可視化操作理解核心概念 (索引、文檔、Mapping、DSL),再深入學習 Query DSL、聚合分析、集群運維。中文場景必裝 IK 分詞插件,生產環境務必做好 JVM 調優與安全加固。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved