ElasticSearch入门——来自~狂神说~总结(一)

狂神说视频地址:https://www.bilibili.com/video/BV17a4y1x7zq?p=8

1.Elasticsearch概述

Elasticsearch,简称es,es是一个开源的高扩展的分布式全文搜索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也可以使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

据国际权威的数据库产品评测机构DB Engines的统计,在2016年1月。ElasticSearch已超过Solr等,成为排名第一的搜索引擎类应用。

2.ES和Solr的差别

(1)ElasticSearch简介
ElasticSearch是一个实时分布式搜索和分析引擎,它让你以前所未有的速度处理大数据成为可能。
它用于全文搜索、结构化搜索、分析以及将这三者混合使用:
在这里插入图片描述
(2)Solr简介
在这里插入图片描述
(3)Lucene简介
在这里插入图片描述
(4)ElasticSearch和Solr比较
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)ElasticSearch VS Solr总结
1.es基本是开箱即用(解压就可以用!),非常简单。Solr安装略微复杂。

2.Solr利用Zookeeper进行分布式管理,而ElashticSearch自身带有分布式协调管理功能。

3.Solr支持更多格式的数据,比如JSON、XML、CSV,而ElasticSearch仅支持JSON文件格式。

4.Solr官方提供的功能更多,而ElasticSearch本身更注重于核心功能,高级功能多有第三方插件提供,例如图形化界面需要kibaba友好支撑!

5.Solr查询快,但更新索引时慢(即插入删除慢),也用于电商查询多应用;

  • es建立索引快(即查询慢),即实时性查询快,用于facebook新浪等搜索。
  • Solr是传统搜索应用的有力解决方案,但ElasticSearch更适用于新兴的实时搜索应用。

6.Solr比较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而ElasticSearch相对开发维护者较少,更新太快,学习使用成本高。

3.ElastucSearch安装

声明:JDK1.8, 最低要求,ElasticSearch客户端,界面工具!

java开发,ElasticSearch的版本和我们之后对应的java的核心jar包,版本对应,JDK环境是正常!

(1)下载
官网:https://www.elastic.co/
在这里插入图片描述
在这里插入图片描述
ELK三剑客,解压即用!(Web项目,前端环境)

(2)Window下安装!

  • 直接解压就可以使用了
    在这里插入图片描述
  • 熟悉目录
bin   #启动文件
config   #配置文件
	log4j2   #配置文件
	jvm.options  #java虚拟机相的配置
	elasticsearch.yml   #elasticsearch的配置文件 !  默认9200端口!  跨域
jdk   #环境
lib   #jar包
modules #功能模块
plgins   #插件   ik分词器
logs     #日志
  • 注:若电脑内存不足需要修改jvm 配置文件,把默认1g的改小点
    在这里插入图片描述
  • 启动!打开bin目录,点击elasticsearch.bat
    默认的地址是9200,通信的地址是9300

在这里插入图片描述

  • 访问9200
    在这里插入图片描述
    (3)安装可视化界面head es的插件
    没有node.js、npm环境是不行的
  • 下载地址:在这里插入图片描述
  • 启动
npm install #下载文件
npm run start #启动
  • 连接测试发现存在跨域问题,修改es配置
    访问head默认的9100需要去es的 elasticSearch.yml文件中添加配置文件
http.cors.enabled:true
http.cors.allow-origin:"*"

在这里插入图片描述

  • 重启es服务,然后再次连接
    在这里插入图片描述
    注:初学就把es当做一个数据库!(可以建立索引(库),文档(库中的数据))

这个head我们就把它当做数据展示工具! 我们后面所有的查询,kibana

(4)了解ELK
ELK是ElasticSearch、Logstash、Kibana三大开源框架首字母大写简称。
在这里插入图片描述
(5)安装Kibana
Kibana是一个针对ES的开源分析及可视化平台,用来搜索、查看交互存储在ES索引中的数据。使用Kibana,可以通过各种图标进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简餐,基于浏览器的用户界面可以快速创建仪表板实时显示ES查询动态。设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动ES索引检测。

  • 官网
    在这里插入图片描述
    注:Kibana和ES的版本一致!
    在这里插入图片描述
    在这里插入图片描述

下载完毕后,解压也需要一些时间,是一个标准的工程!

好处:ELK基本上都是拆箱即用!

  • 启动测试
    1.解压后的目录
    在这里插入图片描述
    2.启动 ,默认端口 5601在这里插入图片描述
    3.测试访问
    在这里插入图片描述
    4.开发工具!(Post、curl、head、谷歌浏览器插件。)在这里插入图片描述
    我们之后的所有操作都在这里
    5.汉化
  • 找到zh-CN.json
    在这里插入图片描述
  • 修改kibana.yml配置文件
    在这里插入图片描述
    修改完后,需要重启项目
    在这里插入图片描述

(6)安装IK分词器
分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,这显然是不符合要求的,所以我们需要安装中文分词器IK来解决这个问题。

使用中文,建议使用IK分词器!

IK分词器提供了两个分词算法:IK-smart和ik-max-word,其中ik-smart为最少切分,ik-max-word为最细粒度划分。

  • 安装

在这里插入图片描述

  • 下载之后,放入我们的elasticSearch插件即可
    在这里插入图片描述
  • 重启观察es,可以看到ik分词器被加载了
    在这里插入图片描述
  • elasticsearch-plugin可以通过这个命令来查看加载进来的插件
    在这里插入图片描述
  • 使用kibana测试
    ik_smart最少切分
    在这里插入图片描述
    ik_max_word为最细粒度划分,字典!在这里插入图片描述
    问题:我们输入超级喜欢狂神说Java
    在这里插入图片描述

发现问题:狂神说被拆开了

这种自己需要的词,需要自己加到我们的分词器的字典中!

  • IK分词器增加自己的配置(保存后,需要重启)

在这里插入图片描述
重启es,看细节
在这里插入图片描述
再次测试一下狂神说。
在这里插入图片描述
以后话,我们需要自己配置分词,就在自己定义的dic文件中配置即可!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值