微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

第128天学习打卡ElasticSearch 初识elasticreach 及安装

ElasticSearch :搜索百度,github,淘宝电商的搜索等)

只要需要用到搜索,就可以使用ES( 建议大数据量的情况下使用)

Lucene是用JAVA写成的,目标是为各种中小型应用软件加入全文检索功能,好用且开源。

Lucene是一套信息检索工具包!jar包,不包含搜索引擎系统!
包含的:索引结构!读写索引的工具!排序,搜索规则…工具类!

Lucene和ElasticSearch关系:

ElasticSearch是基于Lucene做了一些封装和增强。

大数据两个问题:存储 + 计算

ElasticSearch概述

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

ELK技术, elasticsearch + logstash + kibana

ES和solr的差别

ElasticSearch简介

ElasticSearch是一个实施分布式搜索分析引擎。它让你以前所未有的速度处理大数据成为可能。它用于全文搜索结构化搜索、分析以及将这三者混合使用:

维基百科使用es提供全文搜索并高亮关键字,以及输入实施搜索搜索纠错等搜索建议功能;英国公报使用es结合用户日志和社交网络数据提供给他们的编辑以实施的反馈,以便了解公众对新发表的文章的回应。。。

es是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好、功能最全的搜索引擎库。想要使用它,必须使用java来作为开发语言并将其直接继承到你的应用中。

solr简介

Solr是Apache下的一个顶级开源项目,采用java开发,是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展、并对索引、搜索性能进行了优化。可以独立运行,运行在Jetty、 Tomcat等这些Servlet容器中,Solr索引的实现方法很简单,用POST方法向Solr服务器发送一个描述Field及其内容的XML文档, Solr根据xml文档添加删除、更新索引。Solr搜索只需要发送Http Get请求,然后对Solr返回xml 、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。Solr是一个独立的企业及搜索应用服务器,它对外提供类似于web-service的API接口用户可以通过http请求,像搜索引擎服务器提交一定格式的文件生成索引;也可以通过提出查找请求,并得到返回结果。

两者比较

  • 当单纯的对已有数据进行搜索时,Solr更快
  • 实时建立索引是,Solr会产生io阻塞,查询性能较差,ElasticSearch具有明显的优势
  • 随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化

总结

  1. es基本是开箱即用(解压就可以用),非常简单。而solr会有点复杂。
  2. Solr利用Zookeeper进行分布式管理,而elasticsearch自身带有分布式协调管理功能
  3. solr支持更多格式的数据,比如json xml csv。而es只支持json文件格式
  4. solr官方提供的功能更多,而elasticsearch更注重核心功能,高级功能由第三方插件提供
  5. solr查询快,但更新索引时慢,用于电商等查询多的应用
  6. es建立索引宽,即实时性查询,用于facebook新浪等搜索
  7. solr较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而elasticsearch相对开发维护者较少,更新太快,学习使用成本较高

ElasticSearch安装

注意:JDK1.8最低要求! 要安装ElasticSearch客户端,界面工具!
是基于Java开发的,ElasticSearch的版本和我们之后对应的java的核心jar包,版本要对应,JDK环境要是正常的!

官网:Elasticsearch:官方分布式搜索和分析引擎 | Elastic

下载网址:Download Elasticsearch Free | Get Started Now | Elastic | Elastic

image-20210516200252375

ELK三剑客,解压即用!(web项目! 前端环境)

windows下安装

1.解压即可用

image-20210516201119412

2.熟悉目录

bin 启动文件
config 配置文件
       log4j2  日志配置文件
       jvm,options java  虚拟机相关的配置
       elasticsearch.yml   elasticsearch  的配置文件认9200端口
lib  相关jar包
logs 日志
modules 功能模块
plugins 插件

image-20210516201957059

3启动:

image-20210516202541417

4启动之后访问这个端口 127.0.0.1:9200

image-20210516202812841

安装可视化界面es head的插件

1.下载地址:GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster

image-20210516203816733

2.安装:

cnpm install

image-20210516204315502

启动:

npm run start

image-20210516204659426

跨域:跨端口 跨网站 跨ip都是跨域

3.连接测试发现,存在跨域问题,配置es

image-20210516205015071

解决跨域问题

image-20210516210100641

image-20210516210008632

http.cors.enabled: true #开启跨域支持
http.cors.allow-origin: "*" #并让所有人访问

yml配置文件修改后保存,然后重新启动elasticsearch.bat

image-20210516210501949

然后重新访问127.0.0.1:9200,访问成功后,再访问elasticsearch-head点击连接选项查看控制台 连接成功没有错误

image-20210516210347966

把索引当作数据库(可以建立索引(库),文档(库中的数据!))

这个head我们就把它当作数据展示工具,后面所有的查询都在Kibana中做。

B站学习网址:【狂神说Java】ElasticSearch7.6.x最新完整教程通俗易懂_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐