【成神之路】Elasticsearch入门

在企业级项目中,如果需要完成数量级较大搜索服务,传统数据库搜索会显得力不从心,性能和速度达不到真实业务需求,一般我们都会使用全文检索技术来进行替代。
常见的全文检索技术有:Solr、Elasticsearch等。
今天,我们要讲的是其中之一:Elasticsearch

1 Elastic 概述

Elastic官网地址
在这里插入图片描述

Elastic有一条完整的产品线:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。
在这里插入图片描述

  • Logstash 是动态数据收集管道,拥有可扩展的插件生态系统。也就是数据的收集,处理和储存。
  • Elasticsearch 是一个基于 JSON 的分布式搜索和分析引擎。也就是数据的检索和分析。
  • Kibana 可视化 Elastic Stack 的窗户(工具)。探索数据并管理堆栈。也就是数据的可视化

2 ElasticSearch介绍

2.1什么时候用ElasticSearch

  • ElasticSearch是一个基于Lucene的搜索服务器,提供了一个分布式的全文搜索引擎。
  • Elasticsearch是用Java开发的,基于RESTful web接口,一个开源项目。
  • Elasticsearch是当前流行的企业级搜索引擎,能够达到实时搜索,且稳定,可靠,快速

2.2 下载

  • 最新版本下载:https://www.elastic.co/cn/start
    在这里插入图片描述
  • 历史版本下载
    https://www.elastic.co/cn/downloads/past-releases
    https://www.elastic.co/cn/downloads/past-releases#elasticsearch

2.3 安装

解压即可
在这里插入图片描述

3 ElasticSearch使用

3.1启动
  • 确定启动文件,bin目录下elasticsearch.bat命令,是用于启动elasticsearch的
    在这里插入图片描述
  • 步骤一:启动,双击启动程序
    在这里插入图片描述
  • 启动成功后,绑定的端口
    9300:集群节点间通讯接口
    9200:客户端访问接口
  • 步骤二:访问,http://localhost:9200/
    在这里插入图片描述
3.2 无法启动
  • 黑窗口闪烁后关闭
    修改config\ elasticsearch.yml文件,添加如下内容
    xpack.ml.enabled: false
    在这里插入图片描述

4ElasticSearch常见配置

4.1 JVM参数
  • Elasticsearch基于Lucene的,而Lucene底层是java实现,学习过程中,建议将jvm参数修改小一些。
  • 修改 config/jvm.options
    在这里插入图片描述
4.2修改绑定IP(可选)
  • 默认只允许本机访问
    在这里插入图片描述
  • 修改为0.0.0.0后则可以远程访问
    network.host: 0.0.0.0
    在这里插入图片描述
  • 启动elasticsearch异常(黑窗口一闪关闭)
    在这里插入图片描述
  • 修改JDK配置
    在这里插入图片描述
  • 再次访问
    在这里插入图片描述

5 Kibana介绍

5.1什么是Kibana

Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。
而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。

5.2 Kibana下载
  • https://www.elastic.co/cn/downloads/past-releases#kibana
    在这里插入图片描述
5.3Kibana 安装

在这里插入图片描述

  • 解压即可
    在这里插入图片描述

6 Kibana使用

6.1 启动
  • 双击 /bin/kibana.bat 进行启动
    在这里插入图片描述
  • 启动成功
    在这里插入图片描述
6.2 访问

http://localhost:5601
在这里插入图片描述

6.3 控制台
  • 点击左侧菜单“Dev Tools”就可以访问 ElasticSearch的控制台
    在这里插入图片描述
6.4 基本使用

在这里插入图片描述

7 分词器

  • 分词与分词器
    分词 Analysis:对文本进行分析,将全文本转换一系列单词的过程。
    分词器Analyzer :分词Analysis通过分词器Analyzer实现的。

  • 默认es不会对中文进行分词
    POST _analyze { "text": ["我是中国人"] }

    在这里插入图片描述

  • 使用ik_max_word 进行分词
    POST _analyze { "analyzer": "ik_max_word", "text": ["我是中国人"] }

在这里插入图片描述

  • 安装IK分词器(支持中文分词)
    IK分词器提供了源代码(maven项目),通过打包生产zip文件
    https://github.com/medcl/elasticsearch-analysis-ik/releases

在这里插入图片描述

  • 使用Kibana进行测试
    POST _analyze { "analyzer": "ik_max_word", "text": ["我是中国人"] }

在这里插入图片描述

8 Kibana常见配置

8.1 整合Elasticsearch(可选)
  • 通过 config/kibana.yml文件,可以修改elasticsearch的服务地址
    通过 config/kibana.yml文件,可以修改elasticsearch的服务地址
    在这里插入图片描述
    在这里插入图片描述

9 head服务(可选)

9.1 基本配置
  • 步骤6:安装和启动head服务(查看elasticsearch索引工具)
    在这里插入图片描述
    在这里插入图片描述
  • 访问head服务,查阅以后索引信息
    http://localhost:8084/head/index.html
    在这里插入图片描述
  • 使用head进行分词测试
    在这里插入图片描述
9.2 跨域问题:elasticsearch支持跨域
  • 在elasticsearch的config目录下,修改elasticsearch.yml文件,添加跨域内容
    在这里插入图片描述
    #Cross domain
    http.cors.enabled: true
    http.cors.allow-origin: "*"
  • 如果没有配置跨域,不能访问
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值