-
Elasticsearch
一. 入门
在企业级项目中,如果需要完成数量级较大搜索服务,传统数据库搜索会显得力不从心,性能和速度达不到真实业务需求,一般我们都会使用全文检索技术来进行替代。
常见的全文检索技术有:Solr、Elasticsearch等。
今天就让我们来学习其中之一:Elasticsearch
二. .Elastic 概述
Elastic官网:https://www.elastic.co/cn/
Elastic有一条完整的产品线:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。
- Logstash 是动态数据收集管道,拥有可扩展的插件生态系统。也就是数据的收集,处理和储存。
- Elasticsearch 是一个基于 JSON 的分布式搜索和分析引擎。也就是数据的检索和分析。
- Kibana 可视化 Elastic Stack 的窗户(工具)。探索数据并管理堆栈。也就是数据的可视化
- ELK技术栈:
- Elasticsearch :分布式搜索和分析引擎。
- Logstash :数据的收集,处理和储存。
- Kibana :数据的可视化,可视化工具,辅助Elasticsearch 。
三.ElasticSearch介绍
1. 什么是ElasticSearch
- ElasticSearch是一个基于Lucene的搜索服务器,提供了一个分布式的全文搜索引擎。
- Elasticsearch是用Java开发的,基于RESTful web接口,一个开源项目。
- Elasticsearch是当前流行的企业级搜索引擎,能够达到实时搜索,且稳定,可靠,快速。
四.下载
- 根据自身需求和配置下载即可,本人使用Windows
- 历史版本下载(如果想下载跟我相同版本,点击下方链接查找6.3.0版本即可)
https://www.elastic.co/cn/downloads/past-releases
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
五. 安装
本人使用的 6.3.0版本
直接解压到自定义目录即可
- 目录结构
六 .启动
- 步骤1: 双击 /bin/elasticsearch.bat
- 启动成功
- 启动成功后,绑定的端口
- 9300:集群节点间通讯接口
- 9200:客户端访问接口
- 步骤2: 访问,http://localhost:9200/
[可能出现的问题:]
1.无法启动
- 黑窗口闪烁后关闭
- 修改config\ elasticsearch.yml文件,添加如下内容
xpack.ml.enabled: false
2. ElasticSearch常见配置
2.1 JVM参数
- Elasticsearch基于Lucene的,而Lucene底层是java实现,学习过程中,建议将jvm参数修改小一些。
- 修改 config/jvm.options,
2.2 修改绑定IP
- 默认只允许本机访问
- 修改为0.0.0.0后则可以远程访问
network.host: 0.0.0.0
- 启动elasticsearch异常(黑窗口一闪关闭)
- 修改JDK配置
- 再次访问即可
-
Kibana
-
一.什么是Kibana
Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。
而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。
- Kibana是操作ElasticSearch的图形化工具
- 基于Node.js,可以通过web进行操作
- 使用Kibana进行API操作时,有友好提示
- Kibana工具可以生成各种图表
二. Kibana下载
下载历史版本:https://www.elastic.co/cn/downloads/past-releases#kibana
本人使用配套6.3.0版本
三.Kibana安装
- 将zip压缩包解压到自定义位置
四.启动与使用
1,启动
- 进入安装目录,双击~/bin/kibana.bat
- kibana端口号:5601
访问:
http://localhost:5601
2.使用
五.Kibana常见配置
1.配置elasticsearch位置(可根据需求修改访问路径)
三.其他辅助工具
中文分词器
1. 什么是分词器
- 分词器:按照给定的规则,对已有的内容进行拆分,进行搜索时,只能匹配到单个词。
- “我是中国人”,默认将拆分成单个字,“我”,“是”,“中”,“国”,“人”
- 中文分词器:按照中文的语法规范,对内容进行拆分
- “我是中国人”,中文分词器拆分, “我”,“是”,“中国”,“中国人” 等
- 中文分词器名称:ik
2.如何整合
- 将分词器程序内容,拷贝到~/plugins/分词器名称/
3.使用
- 分词结果查询语法格式:
GET _analyze
{
"analyzer": "分词器名称",
"text": "内容"
}
- 示例
- GET _analyze
- _analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}
四.head 辅助工具
1.概述
- head 辅助工具:可以查看elasticsearch所有内容(索引、数据)
- head低版本以插件的方式与elasticsearch进行整合。
- head高版本以独立web项目存在,需要一个tomcat进行启动
2.启动
- 启动elasticsearch中的tomcat
3.访问
- 路径需要加head , 访问tomcat中head项目
- tomcat端口号:8084 (自定义)
- 访问路径:
- http://localhost:8084/head/
到此步,你就可以保证你的Elasticsearch可以进行正常使用啦
下篇,让我们来学习 <Elasticsearch_API>的相关操作
请给努力中的自己点个赞哦!
每天进步一点点`~~~~~
来源:oschina
链接:https://my.oschina.net/ithuang/blog/3228023