本文包括JDK-11、Maven-3.5.3、ES(Elasticsearch)-7.6.2、Node-12.16.3、ES-Head、Kibana-7.6.2、ik-7.6.2、IntelliJ IDEA Community Edition 2018.3.16、Spring Assistant-0.12.0、Spring Boot-2.3.1軟件環境的配置,這些軟件是ES的開發過程中需要的。
注意:ES、Kibana和ik的版本必須一致,不然可能會出未知的問題。IntelliJ IDEA的版本要與Spring Assistant版本發佈的時間相接近,Maven版本的發佈時間儘量低於或者稍高於IntelliJ IDEA版本的發佈時間。如果安裝的過程中,出現問題,如果排除了所有手誤或代碼錯誤問題,還是安裝不成功,那可能就是版本不兼容問題。如果時間快的話2個小時,即可裝完,如果慢的話可能要1天的時間。
1 JDK-11安裝配置
JDK是ES開發的必須環境,ES要求JDK最低版本是1.8,本文選擇了JDK-11作爲ES的開發環境,JDK-11不區分jvm,jre和jdk,因此直接安裝,然後將JDK-11的安裝路徑添加到環境變量中即可。
1.1 JDK-11下載地址
官網下載地址:
https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
官網地址需要註冊後才能下載,我建議使用別人在百度雲盤上共享的JDK-11即可。
1.2 安裝配置
在用戶變量中添加JDK的環境變量如下(如果在用戶環境變量中,配置失敗可以在系統環境變量中配置也可):
變量:JAVA_HOME;
值:D:\java_11
將JDK的bin目錄添加到PATH中,添加內容爲(注意後面的bin):%JAVA_HOME%\bin;
2 Maven-3.5.3安裝配置
Maven是項目管理和構建的工具,它可以解決jar包衝突、編譯項目、一次性執行所以單元測試和項目打包等。
2.1 Maven下載地址
下面是Maven-3的下載地址:
http://archive.apache.org/dist/maven/maven-3/
本文Maven-3.5.3的下載地址:”
http://archive.apache.org/dist/maven/maven-3/3.5.3/binaries/
2.2 安裝配置
Maven下載完成後,直接解壓到相應的目錄,然後配置環境變量即可。
在用戶變量中添加Maven的環境變量如下(如果在用戶環境變量中,配置失敗可以在系統環境變量中配置也可):
變量:MAVEN_HOME;
值:D:\maven-3.5.3
將JDK的bin目錄添加到PATH中,添加內容爲:% MAVEN_HOME %\bin;
2.3 配置Maven倉庫
修改settings.xml文件,配置中央倉庫、本地倉庫。
(1)設置本地倉庫
在settings.xml中找到localRepository標籤,設置本地倉庫,如下:
<localRepository>D:/y_projects/mvn_repository</localRepository>
(2)設置中央倉庫
在settings.xml中找到mirrors標籤,在mirrors標籤中添加如下內容(使用阿里雲的下載會比較快):
<!-- A li cloud -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
(3)設置JDK
在settings.xml中找到profiles標籤,在profiles標籤中添加如下內容,更改JDK版本:
<profile>
<id>jdk-11</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>11</jdk>
</activation>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
</properties>
</profile>
(4)初始化Maven本地倉庫
下載安裝maven-help-plugin插件:mvn help:system
時間會稍微長一點,如果上述出現錯誤,說明沒有配置成功。
3 ES(Elasticsearch)-7.6.2安裝
3.1 ES下載地址
下面是ES的歷史版本下載地址:
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
下面是ES-7.6.2的下載地址:
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-6-2
3.2 ES安裝
ES安裝很簡單,只需要把文件下載下來,解壓即可。
3.3 ES運行
雙擊elasticsearch.bat即可運行。
如果dos沒有報錯和退出,在瀏覽器中輸入地址:http://localhost:9200/,如果出現下面的版本信息說明ES安裝成功。
4 Node-12.16.3安裝
由於ES-Head的運行需要Node.js,所以在安裝ES-Head前需要安裝Node.js。
4.1 Node.js的下載地址
Node.js歷史版本下載地址
https://nodejs.org/en/download/releases/
4.2 Node.js的安裝
在系統變量中添加Node.js的環境變量如下:
查看node的版本和npm的版本如下:
5 ES-Head安裝配置
5.1 ES-Head下載地址
在gitHub上下載,或者用git命令克隆也行。
https://github.com/mobz/elasticsearch-head
5.2 ES-Head安裝
ES-Head安裝與ES的安裝一樣,解壓即可。
ES-Head解壓後,使用Node.js安裝ES-Head的依賴項,具體的依賴項請參考ES-Head目錄下的package.json的文件。注意必須進入es-head的目錄下進行安裝依賴。
依賴項安裝方法:npm install
啓動ES-Head:npm start
5.3 跨域問題
在ES的安裝目錄下找到elasticsearch.yml文件。
在elasticsearch.yml文件的末尾添加如下內容:
http.cors.enabled: true
http.cors.allow-origin: "*"
重啓ES即可訪問成功
6 Kibana-7.6.2
Kibana的安裝方法和ES-Head的方法一樣。
6.1 Kibana的下載地址
歷史版本地址:
https://www.elastic.co/cn/downloads/past-releases#kibana
下面是Kibana-7.6.2的下載地址:
https://www.elastic.co/cn/downloads/past-releases/kibana-7-6-2
6.2 Kibana安裝
將下載的Kibana解壓到相應的目錄即可:
啓動Kibana,雙擊kibana.bat即可運行。
在瀏覽器中輸入:http://localhost:5601
7 ik-7.6.2安裝
IK是中文分詞器,可以用於中文分詞。
7.1 ik下載地址
Ik的歷史版本下載地址
https://github.com/medcl/elasticsearch-analysis-ik/releases
ik-7.6.2下載地址
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.6.2
7.2 ik安裝
將ik插件解壓到ES的插件目錄下即可:
重啓ES可以看到ik插件加載完成。
Ik分詞器在Kibana中的使用:
8 IntelliJ IDEA Community Edition 2018.3.16安裝
由於Intellij IDEA專業版需要收費,因此建議使用社區版。由於社區版需要自己安裝插件,但有些插件的最新版本與最新的IDEA有兼容問題,所以本文選擇了2018版本。
8.1 IntelliJ IDEA下載地址
歷史版本下載地址如下:
https://www.jetbrains.com/idea/download/other.html
找到IntelliJ IDEA-2018.3.16版本下載下來即可。
8.2 IntelliJ IDEA安裝
IDEA的安裝方法與Node的安裝方法類似,按照默認的安裝方法即可。
9 Spring Assistant-0.12.0安裝
在IDEA中使用Spring Boot,需要添加Spring Assistant插架。在Intellij IDEA中在線安裝速度很慢,有時可能找不到插件,最好的方法就是離線安裝插件。
9.1 Spring Assistant下載地址
歷史版本下載地址
https://plugins.jetbrains.com/plugin/10229-spring-assistant/versions
下載Spring Assistant-0.12.0即可。
9.2 Spring Assistant安裝
只需要將Spring Assistant插件解壓到IntelliJ IDEA的插件目錄下即可。
10 Intellij IDEA中配置開發環境
在Intellij IDEA中配置Maven、Spring Boot和Elasticsearch環境和版本。
10.1 配置默認的JDK-11
10.2 配置Maven
注意一定要配置Java的安裝路徑,保證“Importing”和“Runner”的Java運行環境一直。
10.3 配置Spring Assistant
10.4 建立Spring boot工程
建立Spring Boot工程需要連接網絡。
配置完成後,點擊next,進入下一步配置工程名和工程路徑。最後,點擊“finish”,等待工程初始化即可,初始化過程比較長。
10.5 配置Elasticsearch版本
修改Pom.xml文件
啓動Springboot
11 構建ES簡單工程
11.1 構建ControlHello
import org.apache.http.HttpHost;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.indices.CreateIndexRequest;
import org.elasticsearch.client.indices.CreateIndexResponse;
import org.elasticsearch.client.indices.GetIndexRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import java.io.IOException;
@Controller
public class ControlHello {
@GetMapping({"/", "/index"})
public String hello() throws IOException {
// 構建環境
RestClientBuilder builder = RestClient.builder(
new HttpHost("127.0.0.1", 9200, "http")
);
// 創建高級客戶端
RestHighLevelClient client = new RestHighLevelClient(builder);
// 判斷索引是否存在
GetIndexRequest getIndexRequest = new GetIndexRequest("hello_index");
boolean isExist = client.indices().exists(getIndexRequest, RequestOptions.DEFAULT);
if(isExist){
System.out.println("索引已經存在!");
}else {
CreateIndexRequest indexRequest = new CreateIndexRequest("hello_index");
CreateIndexResponse indexResponse = client.indices().create(indexRequest, RequestOptions.DEFAULT);
System.out.println(indexRequest.index());
System.out.println("索引創建成功");
}
return "index";
}
}
11.2 構建HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
Hello Elasticsearch !
</body>
</html>
11.3 啓動ES、ES-Head和Spring boot
注意一定要啓動ES,如果要在ES-Head看數據,也需要啓動ES-Head。
在瀏覽器中輸入:http://localhost:8080/