热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   新闻动态 -   正文

ElasticSearch介绍及安装

知了堂姐
2024-07-09 11:12:24
0
ElasticSearch,简称es,es是一个开源的高拓展分布式全文检索引擎,它可以近乎实时的存储检索数据;本身拓展性很好,它可以拓展到上百台服务器,处理PB级别的数据。es也使用java开发并使用Lucene的复杂性,从而让全文检索变得简单 据国际权威的数据库产品评测机构DB Engines的统计,2016年1月,ElasticSearch已超过solr等成为排名第一的搜索引擎类应用

ElasticSearch和solr的差别

ElasticSearch简介

ElasticSearch是一个实时分布式搜索和分析引擎,它让你以前所未有的速度处理大数据的可能 它用于全文搜索,结构化搜索,分析以及这三者混合使用 ElasticSearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论是在开源还是专有邻域,Lucene可以被认为是迄今为止最先进、性能最好的,功能最全的搜索引擎库。 但是。Lucene只是一个库。想要使用它,你必须使用java作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要更深入的了解检索的相关知识来理解它是如何工作的。 ElasticSearch也使用java开发并使用Lucene作为其核心来实现所有索引和功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文检索变得简单

Solr简介

Solr是Apache下的顶级开源项目,采用java开发,它是基于Lucene的全文检索服务器。solr提供优化比Lucene跟为丰富的查询语言,同时实现了可配置、可拓展,并对索引、搜索性能进行了优化 solr可以独立运行,运行在jetty、tomcat等这些servlet容器中,Sole索引的实现方法很简单,用post方法向solr服务器发送一条可描述Filed及其内容的XML文档,Solr根据xml文档的添加、删除、更新索引、Solr搜索只需要发送HTTP GET请求,然后对solr返回xml、json等格式的查询结果进行解析,组织页面布局、solr不提供构建UI的功能,solr提供了一个管理界面,通过管理界面可以对查询的solr的配置和运行情况 Solr是一个开源搜索平台,用于构建搜索应用程序。 是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口 它建立在Lucene(全文搜索引擎)之上。 Solr是企业级的,快速的和高度可扩展的。

Lucene简介

Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能的一个开源框架。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。

目前已经有很多应用程序的搜索功能是基于 Lucene 的,比如 Eclipse 的帮助系统的搜索功能。Lucene 能够为文本类型的数据建立索引,所以你只要能把你要索引的数据格式转化的文本的,Lucene 就能对你的文档进行索引和搜索。比如你要对一些 HTML 文档,PDF 文档进行索引的话你就首先需要把 HTML 文档和 PDF 文档转化成文本格式的,然后将转化后的内容交给 Lucene 进行索引,然后把创建好的索引文件保存到磁盘或者内存中,最后根据用户输入的查询条件在索引文件上进行查询。不指定要索引的文档的格式也使 Lucene 能够几乎适用于所有的搜索应用程序。

ElasticSearch与solr比较

 

ElasticSearch vs solr 总结

  1. es基本就是开箱使用,非常简单,Solr安装比较复杂一点
  2. Solr支持更多格式的数据,比如json,xml,csv,而ElasticSearch仅支持json文件格式
  3. Solr利用Zookeeper进行分布式管理,而ElasticSearch自身带有分布式协调管理功能。
  4. Solr官方提供的功能更多,而ElasticSearch本身更注重与核心功能,高级功能多有第三方插件提供,例如图形化页面需要kibana友好支撑
  5. Solr查询快,但更新索引满,用于电商等查询多的应用
  6. ElasticSearch建立索引快(查询慢),实时性查询快,用于facebook新浪等搜索
  7. Solr是传统搜索应用的有力解决方案,但ElasticSearch更适用新兴的实时搜索应用
  8. Solr比较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而ElasticSearch相对开发维护者较少,更新太快,学习使用成本较高

ElasticSearch安装

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

下载 elastic.co/cn/

华为云的镜像去下载 ElasticSearch: mirrors.huaweicloud.com logstash: mirrors.huaweicloud.com kibana: mirrors.huaweicloud.com

链接: pan.baidu.com/s/1xhpIqT 提取码: jv4h

  1. 下载后解压

2、目录介绍
bin 启动文件config 配置文件 log4j2 日志配置文件 jvm.options java虚拟机相关配置 elasticsearch.yml elasticsearch的配置文件 默认9200端口! 跨域!lib 相关jar包modules 功能目录plugins 插件

3、双击bin/elasticsearch.bat文件

4、访问http://127.0.0.1:9200

5、安装可视化界面 ElasticSearch head 下载:github.com/mobz/elastic

 

安装kibana

了解ELK

ELK是elasticSearch、Logstash、kibana三大开源框架首字母大写的简称。市面上也被称为Elastic Stack。其中elasticSearch是一个基于Lucene、分布式、通过RESTful方式进行交互的近实时搜索平台框架。像类似于百度、谷歌这种大数据全文搜索引擎的场景都可以使用elasticSearch作为底层支持框架、可见elasticSearch提供的搜索能力确实强大,elasticSearch也被市面上简称为es。 Logstash是ELK的中央数据引流引擎,用于从不同目标(文件/数据存储/MQ)收集的不同格式数据,经过过滤后支持输出带不同的目的地(文件/MQ/redis/elasticSearch/kafka)等。kibana可以将elasticSearch的数据通过友好的页面展示出来,提供实时分析的功能

 

下载地址:elastic.co/cn/downloads 注意:es版本和kibana版本尽量保持一致

 

下载完解压

启动测试:bin/kibana.bat

端口:5601 访问:http://localhost:5601

界面显示出来,安装成功!

大家都在看

鸿蒙开发好找工作吗?2024年鸿蒙应用开发就业前...

2024-07-09 浏览次数:0

SpringBoot环境搭建

2024-07-09 浏览次数:0

前端开发前景怎么样啊?前端开发得就业现状及前景

2024-07-09 浏览次数:0

520情人节,用代码告白一定成功(附源码)

2024-07-09 浏览次数:0

参加Java培训学历重要吗?

2024-07-09 浏览次数:0

平均薪资8400+,最高月薪12500元!

2024-07-09 浏览次数:0
最新资讯
Java干货来袭,新手必看!j...   提取子串  用String类的substring方法可以提取字符串中的子串,该方法有两种常用参数...
Java干货小知识,InnoD... 随着互联网行业的兴起,it人才需求量也越来越大,越来越多的人选择了从事it行业,在大家进行了Java...
ElasticSearch介绍... ElasticSearch是一个实时分布式搜索和分析引擎,它让你以前所未有的速度处理大数据的可能 它...
mysql数据库开发入门 数据库管理软件,数据库相当于是一个文件系统,只不过我们要通过命令(SQL语言)来操作这个文件系统
中间件技术之消息队列 01、学习中间件的方式和技巧 1:理解中间件在项目架构中的作用,以及各中间件的底层实现。 2:可以使...
Java代码如何对架构改进? Java代码如何对架构改进 1.缓存: 现在内存的价格很低,而且越来越低,从磁盘或通过网络来检索数据...
Java干货分享:直接插入排序 直接插入排序和它的字面意思一样,将数字插入到有序序列中排序。
【java干货】git安装及初... 从2月2日-2月29日,注册知了堂在线学习平台,还可以免费领取价值上千元的就业付费课程,限时扫码领取...