0


搜索引擎ES--基础学习

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

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


本文转载自: https://blog.csdn.net/qq_42029989/article/details/124583079
版权归原作者 李嘉图呀李嘉图 所有, 如有侵权,请联系我们删除。

“搜索引擎ES--基础学习”的评论:

还没有评论