第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

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

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

windows下安装

1.解压即可用

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

2.熟悉目录

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

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

3启动:

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

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

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

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

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

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

2.安装:

cnpm install

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

启动:

npm run start

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

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

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

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

解决跨域问题

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

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

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

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

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

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

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

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

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

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

上一篇:基于Apache版本的大数据组件的Atlas安装


下一篇:Solr空间搜索原理分析与实践