Elasticsearch简介
(1)ElasticSearch是一个基于Lucene的搜索服务器,其实就是对Lucene进行封装,提供了 REST API 的操作接口,作为一个高度可拓展的开源全文搜索和分析引擎,可用于快速地对大数据进行存储,搜索和分析。
(2)ElasticSearch主要特点:分布式、高可用、异步写入、多API、面向文档 。
(3)ElasticSearch核心概念:近实时,集群,节点(保存数据),索引,分片(将索引分片),副本(分片可设置多个副本) 。它可以快速地储存、搜索和分析海量数据。
(4)ElasticSearch使用案例:维基百科、Stack Overflow、Github 等等。
ElasticSearch下载安装 ElasticSearch官网
ElasticSearch对应的版本
(1)下载:ElasticSearch官网,下载历史版本在View past releases,选择WINDOWS sha下载。
(2)安装:解压到本地的任意一个目录下即可,如D:\elasticsearch-6.2.4。
(3)启动:双击elasticsearch.bat即可,等待启动完毕,输入地址在浏览器中输入“http://127.0.0.1:9200/”,出现一下界面,表示启动成功。
elasticsearch-head插件
(1)下载 node.js
nodejs安装:nodejs官网下载,安装版本与系统保持一致,这里选64位的window的msi安装版本,安装过程中只选择安装路径即可(本文安装在D:\elasticsearch-6.2.4\nodejs)。安装完成后,使用node -v命令查看是否安装成功。
(2)grunt安装
cmd到nodejs根目录下,输入指令:npm install -g grunt-cli ,等待安装完成。
(3)Head配置
下载Head配置插件:https://github.com/mobz/elasticsearch-head,解压到Es的安装根目录下,比如D:\elasticsearch-6.2.4\elasticsearch-head-master。
1)修改elasticsearch-head中的文件Gruntfile.js,添加
2)修改ElasticSearch的配置文件elasticsearch.yml
在文件最后添加
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
开启如下配置:
去除文件中本来就有的几个注释(去掉#)如下:
cluster.name: my-application #集群的名字
node.name: node-1 #节点名字
network.host: 0.0.0.0 #ES的监听地址
http.port: 9200 #端口号,默认就好
3)npm安装
cmd到elasticsearch-head目录输入命令npm install,若安装报各种关于package.json的解析错误,使用’npm cache clean --force’命令清除缓存再安装。接着输入grunt server 启动nodejs,出现下面的提示,就启动成功。
重启ElasticSearch双击elasticsearch.bat即可
在浏览器中输入http://localhost:9100/,出现如下界面:
至此ElasticSearch与Head插件的相关配置完毕
安装Ik分词器
ElasticSearch 默认采用的分词器, 是单个字分词 ,效果很差 ,所以我们需要安装一个更实用的分词器,这里采用IK分词器
搜索【IK Analyzer 3.0】Lucene的IK分词器早在2012年已经没有维护了,现在我们要使用的是在其基础上维护升级的版本,并且开发为Elasticsearch的集成插件了,与Elasticsearch一起维护升级,版本也保持一致。
1.下载
注意:你的Elasticsearch和IK分词器必须版本统一
jar包下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
2 安装
无需安装,解压即可使用
我们将其改名为ik,并复制到Elasticsearch的解压目录,如下图所示
然后重启elasticsearch:
3 IK扩展词和停用词的简单介绍
扩展词和停用词文件:
可根据自己的实际需求去扩展词汇。