栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

搜索引擎ES--基础学习

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

搜索引擎ES--基础学习

目录

目录

ES功能及特点

ES应用场景

常见场景

常见案例

主流搜索方案对比

ES安装部署

Kibana安装部署


ES功能及特点
  • 分布式搜索引擎

        通过多台服务器进行存储检索,如:百度、谷歌、站内搜索

  • 全文检索

        提供模糊搜索等自动度较高的查询方式,进行相关排名,高亮等操作

  • 数据分析引擎

        各类电商、新闻类网站进行搜索排名,销量排名处理

  • 海量数据实时处理

对海量数据实现秒级的数据搜索和分析

ES应用场景

常见场景
  • 搜索类场景

        比如电商、招聘、新闻资讯类网站及各类APP的搜索模块

  • 日志分析类场景

        经典的ELK组合(Elasticsearch/Logstash/Kibana),可以完成日志收集,日志存储,日志分析查询界面基本功能,目前该方案的实现很普及

  • 数据预警平台及数据分析场景

        例如电商价格预警,当优惠的价格低于某个值时,触发通知消息,通知用户购买。

        数据分析常见的比如分析电商平台销售量 top10 的品牌,分析博客系统、头条网站 top10 关注度、 评论数、访问量的内容等。

  • 商业BI系统 

        如大型零售超市,需要分析上一季度用户消费金额,年龄段,每天各时间段到店人数分布等信息,输出相应的报表数据,并预测下一季度的热卖商品,根据年龄段定向推荐适宜产品。 Elasticsearch执行数据分析和挖掘,Kibana做数据可视化。

常见案例
  • 维基百科、百度百科:有全文检索、高亮、搜索推荐功能
  • Stack Overflow:有全文检索,可以根据报错关键信息,去搜索解决方法。
  • Github:从上千亿行代码中搜索你想要的关键代码和项目。
  • 日志分析系统:各企业内部搭建的ELK平台。

主流搜索方案对比

目前主流全文搜索方案:Lucene、Solr、ElasticSearch,基于 倒排索引 机制实现快速全文搜索

  • Lucene:完全由Java编写的信息搜索工具包,使用时需要我们进一步开发搜索系统,只是一个框架,需要在程序中集成后使用。
  • Solr:是一个具有HTTP接口的查询服务器,基于Lucene,封装了Lucene的很多细节。
  • ElasticSearch:也是建立在Lucene上实现的搜索引擎。采用分布式实时文件存储,将每个字段都编入索引,使其可以搜索。

联系与区别

Solr与ElasticSearch都是基于Lucene实现。

1)Solr使用Zookpper进行分布式管理,ElasticSearch自带分布式治理

2)Solr功能更多,ElasticSearch更注重核心功能,高级功能多由三方插件实现

3)Solr在传统搜索应用中好于ES,而在实时性上ES更加优秀

ES安装部署

在虚拟机上部署Single-Node Mode Elasticsearch

 下载Elasticsearch

地址:https://www.elastic.co/cn/downloads/elasticsearch 最新版本

下载: https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7.3..0 版本
##解压文件
tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz

##移动文件到安装目录
mv /root/elasticsearch-7.3.0 /usr/elasticsearch/

1.编辑vim /usr/elasticsearch/config/elasticsearch.yml ,注意冒号后面有个空格。

vim /usr/elasticsearch/config/elasticsearch.yml

单机安装请取消注释:node.name: node-1,否则无法正常启动。

修改网络和端口,取消注释master节点,单机只保留一个node

node.name: node-1 
network.host: 192.168.211.136 
#
# Set a custom port for HTTP: 
#
http.port: 9200 
cluster.initial_master_nodes: ["node-1"]

2.按需修改vim /usr/elasticsearch/config/jvm.options内存设置

vim /usr/elasticsearch/config/jvm.options

根据实际情况修改占用内存,默认都是1G,单机1G内存,启动会占用700m+然后在安装kibana后,基本上无法运行了,运行了一会就挂了报内存不足。 内存设置超出物理内存,也会无法启动,启动报错。

-Xms1g 
-Xmx1g

3.添加es用户,es默认root用户无法启动,需要改为其他用户

useradd estest 

##修改密码 
passwd estest

##改变es目录拥有者账号
chown -R estest /usr/elasticsearch/

4.修改/etc/sysctl.conf

vim /etc/sysctl.conf

##末尾添加:
vm.max_map_count=655360

##执行 sysctl -p 让其生效
sysctl -p

5.修改/etc/security/limits.conf

vim /etc/security/limits.conf
末尾添加:
*    soft   nofile   65536
*    hard   nofile   65536 
*    soft   nproc    4096 
*    hard   nproc    4096

6.启动es
切换刚刚新建的用户

su estest

启动命令

/usr/elasticsearch/bin/elasticsearch

7.配置完成:浏览器访问测试。 ip:9200

Kibana安装部署

root账户下操作

tar -zxvf kibana-7.3.0-linux-x86_64.tar.gz

mv /root/kibana-7.3.0-linux-x86_64 /usr/kibana/

改变es目录拥有者账号

chown -R estest /usr/kibana/

 还需要设置访问权限

chmod -R 777 /usr/kibana/

 修改配置文件

 vim /usr/kibana/config/kibana.yml

修改端口,访问ip,elasticsearch服务器ip

server.port: 5601 

server.host: "0.0.0.0" 

# The URLs of the Elasticsearch instances to use for all your queries. 

elasticsearch.hosts: ["http://192.168.211.136:9200"]

配置完成启动:

##切换用户
su estest ./bin/kibana(路径:/usr/kibana)

 没有error错误启动成功:

访问ip:5601,即可看到安装成功

后续会持续更新,感兴趣的可以来个三联哦! 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/898620.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号