1. 下载 Elasticsearch
前往官网下载:https://www.elastic.co/cn/downloads/elasticsearch#ga-release
以Windows为例,最新版的直接点这个就行:
注意一下,如果你后续想要搭建中文的搜索,就需要用到 IK分词器,IK分词器的版本要和 Elasticsearch版本对应上,不然到时候会报错的。
(比如现在 Elasticsearch的版本是 8.1.3,而IK分词器的最新版本才到 8.1.2,由于下载版本不对应,当我后面执行elasticsearch.bat的时候就会闪退。)
IK分词器网址:https://github.com/medcl/elasticsearch-analysis-ik
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
上面第一个网址有教IK分词器怎么下载怎么使用,关于如何下载我会在后面讲的,第二个网址是所有版本的IK分词器下载方式。
建议先去第二个网址看一下 IK分词器的最新版本是什么,再决定下哪个版本的 Elasticsearch。注意,IK分词器的版本和 Elasticsearch版本一定要对应。
如果想要下载以前版本的 Elasticsearch,如下图点击就可以了。
这里我就下载8.1.2版本的了,因为 IK分词器最新版本只有 8.1.2。解压后效果如下图所示:
2. 配置 Java环境
如果电脑之前有Java环境的话这步可以忽略,没有的话可以看一下。
ES会根据你电脑里有没有Java环境,即环境变量中有没有JAVA_HOME来自行选择 ES的 Java环境,没有的话就用ES_JAVA_HOME来代替Java环境的路径,这个配置就是下面讲的内容,所以自己电脑之前配过Java环境的可以直接略过这一步。
近几年的Elasticsearch(以下简称ES)中自带了 jdk,我们可以直接用 ES提供的 Java环境。
先进入环境变量,在系统变量中 点击新建,如下图填写,变量名ES_JAVA_HOME,变量值就是解压后 ES中 jdk的路径,编辑完不要忘记点确定,不然就白修改了。
这样 ES需要的Java环境就可以用了。
3. 运行 elasticsearch.bat
在 ...\elasticsearch-8.1.2\bin
文件夹中点击 elasticsearch.bat
等待一会儿时间,这是在安装 Elasticsearch。如果执行正常的话恭喜你,可以直接跳到下一步。
那么什么是执行正常的呢?进入网址http://localhost:9200/,如果能打开就是正常的,就像这样:
注意,elasticsearch.bat 要一直处于打开状态,不能把它关了,只要你用Elasticsearch,它就得开着(执行正常的话别关,当然执行不正常的话你关不关都不好使),关了之后就无法进入 http://localhost:9200/ 了
1、执行不正常可能是以下几种问题:
执行后最新的几行是[WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [DESKTOP-E5MROJA] received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/[0:0:0:0:0:0:0:1]:9200, remoteAddress=/[0:0:0:0:0:0:0:1]:62537},就像下图这样
2、闪退(执行一会后这个文件自己就关闭了),这个一般就是版本不对应的问题
如何解决第一个问题,即全是[WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [DESKTOP-E5MROJA] received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/[0:0:0:0:0:0:0:1]:9200, remoteAddress=/[0:0:0:0:0:0:0:1]:62537}
在 config 文件夹下以记事本的形式打开 elasticsearch.yml
找到
1、xpack.security.enabled: true
和
xpack.security.http.ssl:
enabled: true
keystore.path: certs/http.p12
将上面两个 true改成 false即可,保存文件,如下图所示。
这时就可以正常打开 http://localhost:9200/ 了。
elasticsearch.yml 文件还有一个额外要改的地方,在末尾添加:
http.cors.enabled: true
http.cors.allow-origin: "*"
- 安装 node.js
请看我的另一篇博文:安装node.js(‘npm‘ 不是内部或外部命令,也不是可运行的程序),里面写的很详细。 - 下载并配置 elasticsearch-head
前往网址:https://github.com/mobz/elasticsearch-head
下载
解压到 ES的路径下
找到 Gruntfile.js并打开(可以用记事本打开)
在下图位置添加 hostname: '*', ,保存。
cmd中进入 elasticsearch-head-master 所在路径,然后输入npm install -g cnpm --registry=https://registry.npm.taobao.org安装,效果图如下(仅供参考,实际可能不同,能下载完就行)。
6. 安装 grunt环境
在同样路径下输入npm run start,如果出现了下面两图之一的情况,原因是没有安装grunt环境。
cmd中输入npm install grunt --save-dev即可安装。
然后再输入npm run start,如果是下图这样的就说明成功了。
注意,这时这个cmd也是不能关的,同样,只要你用Elasticsearch就得开着这个
7. 访问 http://localhost:9100/
前提条件:
执行elasticsearch.bat并一直处于打开状态
npm run start的cmd一直处于打开状态
如果访问 http://localhost:9100/ 后如下图所示,那么Elasticsearch的环境就基本搭建成功了。
8. 之后使用 Elasticsearch
上面讲的都是搭建环境的过程,之后如果你想要使用 Elasticsearch的话,按如下步骤操作即可:
进入文件夹...\elasticsearch-8.1.2\bin,双击elasticsearch.bat文件,且一直处于打开状态
cmd进入...\elasticsearch-8.1.2\elasticsearch-head-master,输入npm run start,且此cmd处于打开状态
然后就可以正常访问http://localhost:9100/了
9. IK分词器(中文搜索)
IK分词器网址:https://github.com/medcl/elasticsearch-analysis-ik
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
第二个网址是所有版本的IK分词器下载方式(上面第一个网址有教IK分词器怎么下载怎么使用,这个我会讲怎么下载,直接进入第二个网址就行了)
进入上面第二个网址,以8.1.2版本为例,下载下图 zip文件。
在 ES的 plugins文件夹下新建文件夹,命名为 ik
将压缩文件elasticsearch-analysis-ik-8.1.2.zip解压到...\elasticsearch-8.1.2\plugins\ik,如图所示
这时我们就可以在 Elasticsearch使用 IK分词器了。