一、本地部署 ElasticSearch
1、下載 Elasticsearch 安裝包
點此下載 Elasticsearch
2、解壓到指定目錄
3、win+R 輸入 cmd,進入 Elasticsearch 安裝目錄運行 .bat 文件
4、瀏覽器輸入 https://localhost:9200 ,并進行身份驗證
在 Elasticsearch 的 bin 目錄下運行下列命令獲取密碼。
elasticsearch-reset-password -u elastic
出現圖中內容即安裝成功。
5、添加IK分詞器
ik分詞器下載地址打開下載
將下載的壓縮文件復制到plugins目錄下ik解壓縮
重啟ES服務
CMD中運行下面命令進行測試是否安裝成功
curl -X POST "localhost:9200/_analyze" -H "Content-Type: application/json" -d "{\"analyzer\": \"ik_max_word\", \"text\": \"我愛北京天安門\"}"
如下圖是成功安裝
二、部署Kibana?
1、下載 Kibana 安裝包
點此下載 Kibana?,版本要與 Elasticsearch 版本一致
2、在 Kibana 安裝路徑下的 bin 目錄,雙擊運行 .bat 文件
3、出現鏈接即安裝成功,并在瀏覽器訪問
4、首次登陸需獲取 token 令牌,在 Elasticsearch 的 bin 目錄下運行下列命令即可
elasticsearch-create-enrollment-token --scope kibana
5、登錄的密碼與 Elasticsearch 的登陸密碼一致
若忘記可通過繼續執行下列命令更改密碼
elasticsearch-reset-password -u elastic
默認用戶名為 elastic ,輸入剛更改的密碼即可登錄工作界面
6、修改為中文界面
config目錄下的kibana.yml文件
搜索到i18n.locale,將其改為
i18n.locale: "zh-CN"
重啟即可
7、登陸后可在編輯個人資料中重新自定義密碼
三、安裝Logstash
1、下載鏈接:Past Releases of Elastic Stack Software | Elastic
四、SpringBoot整合ES7.1.12
1、項目結構
ElasticSearch/
├── .gitattributes # Git 屬性配置文件
├── .gitignore # Git 忽略文件配置
├── .mvn/ # Maven 包裝器目錄
│ └── wrapper/
│ └── maven-wrapper.properties # Maven 包裝器屬性
├── mvnw # Maven 包裝器腳本 (Unix)
├── mvnw.cmd # Maven 包裝器腳本 (Windows)
├── pom.xml # Maven 項目對象模型文件
└── src/ # 源代碼目錄├── main/ # 主要源代碼│ ├── java/ # Java 源代碼│ │ └── com/│ │ └── elasticsearch/ # 基礎包│ │ ├── ElasticSearchApplication.java # 應用程序入口│ │ └── config/ # 配置類目錄│ │ └── ElasticSearchClientConfig.java # ES 客戶端配置│ └── resources/ # 資源文件目錄│ └── application.yml # 應用程序配置文件└── test/ # 測試源代碼└── java/ # Java 測試源代碼└── com/└── elasticsearch/└── service/ # 服務測試目錄(當前為空)
2、pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><!-- 項目模型版本(固定為4.0.0) --><modelVersion>4.0.0</modelVersion><!-- 繼承 Spring Boot 官方父項目,用于依賴管理和默認配置 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.6</version><relativePath/> <!-- 不從本地查找父POM,直接從倉庫下載 --></parent><!-- 項目基本信息 --><groupId>com</groupId><artifactId>ElasticSearch</artifactId><version>0.0.1-SNAPSHOT</version><name>ElasticSearch</name><description>基于 Spring Boot 的 Elasticsearch 操作示例項目</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><!-- 項目屬性 --><properties><java.version>8</java.version> <!-- 使用 JDK 1.8 編譯 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><!-- 項目依賴 --><dependencies><!-- Spring Boot 核心依賴 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Spring Data Elasticsearch 支持(用于連接和操作 ES) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency><!-- Lombok:簡化 Java Bean 寫法(如 @Data、@Getter 等注解) --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional> <!-- 僅編譯期使用,不打包進最終 jar --></dependency><!-- Jackson:JSON 序列化與反序列化支持 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><!-- Spring Boot 測試支持 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- JUnit Jupiter API(JUnit 5) --><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><scope>test</scope></dependency></dependencies><!-- 構建配置 --><build><plugins><!-- Maven 編譯插件:配置 Java 8 編譯及 Lombok 注解處理器 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>8</source><target>8</target><!-- 啟用 Lombok 注解處理器 --><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></path></annotationProcessorPaths></configuration></plugin><!-- Spring Boot Maven 插件:用于打包可執行 jar 文件 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><!-- 打包時排除 Lombok,避免重復包含 --><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>
3、配置類
application.yml文件
spring:application:name: ElasticSearchelasticsearch:rest:uris: http://localhost:9200
配置類
package com.elasticsearch.config;import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class ElasticSearchClientConfig {@Value("${spring.elasticsearch.rest.uris}")private String urls;@Beanpublic RestHighLevelClient restHighLevelClient() {RestHighLevelClient restHighLevelClient = new RestHighLevelClient(RestClient.builder(new HttpHost("localhost",9200, "http")));return restHighLevelClient;}
}