【ElasticSearch7.x安装及入门使用】

文章介绍了Elasticsearch与Solr的基本概念和比较,强调了Elasticsearch的易用性和分布式特性。详细讲述了Elasticsearch的安装过程,包括Windows下的安装、可视化工具Head和Kibana的配置。此外,讨论了Elasticsearch的核心概念,如文档、类型、索引和分片,以及IK分词器的使用。最后,文章提到了RESTfulAPI的基本操作和查询方式。

此笔记内容为狂神说ElasticSearch入门学习部分

目录

一、ElasticSearch概述 

1、ES和Solr

ElasticSearch简介

Solr简介

2、ElasticSearch与Solr比较 

3、总结 

二、ElasticSearch安装

Windows下安装

1、安装

2、熟悉目录

3、启动

安装可视化界面

1、下载地址

2、安装

3、启动

安装kibana

1、下载地址:

2、安装

3、启动

4、开发工具

5、kibana汉化

了解ELK

三、ElasticSearch核心概念

概述

物理设计

逻辑设计 

文档(”行“)

类型(“表”) 

索引(“库”) 

物理设计:节点和分片 如何工作

倒排索引(Lucene索引底层)

四、IK分词器(elasticsearch插件)

1、下载

2、安装 

3、重启ElasticSearch

4、查看插件 

5、使用kibana测试 

6、添加自定义的词添加到扩展字典中

五、Rest风格说明

基本Rest命令说明:

测试

1、创建一个索引,添加 

 2、字段数据类型

3、指定字段的类型(使用PUT) 

4、获取3建立的规则

5、获取默认信息

6、修改

7、删除

8、查询(简单条件)

9、复杂查询


在学习ElasticSearch之前,先简单了解一下Lucene

  • Doug Cutting开发

  • apache软件基金会4 jakarta项目组的一个子项目

  • 是一个开放源代码全文检索引擎工具包
  • 不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)
  • 当前以及最近几年最受欢迎的免费Java信息检索程序库

Lucene和ElasticSearch的关系:

  • ElasticSearch是基于Lucene 做了一下封装和增强

本次学习用到的资料

链接:百度网盘 请输入提取码
提取码:qk8p

一、ElasticSearch概述 


官网:Download Elasticsearch | Elastic

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

    据国际权威的数据库产品评测机构DB Engines的统计,在2016年1月,ElasticSearch已超过Solr等,成为排名第一的搜索引擎类应用

1、ES和Solr

ElasticSearch简介

  • Elasticsearch是一个实时分布式搜索和分析引擎。 它让你以前所未有的速度处理大数据成为可能。
  • 它用于全文搜索、结构化搜索、分析以及将这三者混合使用:
  • 维基百科使用Elasticsearch提供全文搜索高亮关键字,以及输入实时搜索(search-asyou-type)和搜索纠错(did-you-mean)等搜索建议功能。
  • 英国卫报使用Elasticsearch结合用户日志和社交网络数据提供给他们的编辑以实时的反馈,以便及时了解公众对新发表的文章的回应。
  • StackOverflow结合全文搜索与地理位置查询,以及more-like-this功能来找到相关的问题和答案。
  • Github使用Elasticsearch检索1300亿行的代码。
  • 但是Elasticsearch不仅用于大型企业,它还让像DataDog以及Klout这样的创业公司将最初的想法变成可扩展的解决方案。
  • Elasticsearch可以在你的笔记本上运行,也可以在数以百计的服务器上处理PB级别的数据。
  • Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域, Lucene可被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
    • 但是, Lucene只是一个库。 想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是, Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。
  • Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

Solr简介

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

2、ElasticSearch与Solr比较 

  • 当单纯的对已有数据进行搜索时,Solr更快
  • 当实时建立索引时,Solr会产生io阻塞,查询性能较差,ElasticSearch具有明显的优势
  • 随着数据量的增加,Solr的搜索效率会变得更低,而ElasticSearch却没有明显的变化
  • 转变我们的搜索基础设施后从Solr ElasticSearch,我们看见一个即时~ 50x提高搜索性能!

3、总结 

1、es基本是开箱即用(解压就可以用!) ,非常简单。Solr安装略微复杂一丢丢!
2、Solr 利用Zookeeper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能。
3、Solr 支持更多格式的数据,比如JSON、XML、 CSV ,而Elasticsearch仅支持json文件格式
4、Solr 官方提供的功能更多,而Elasticsearch本身更注重于核心功能,高级功能多有第三方插件提供,例如图形化界面需要kibana友好支撑
5、Solr 查询快,但更新索引时慢(即插入删除慢) ,用于电商等查询多的应用;

  • ES建立索引快(即查询慢) ,即实时性查询快,用于facebook新浪等搜索。
  • Solr是传统搜索应用的有力解决方案,但Elasticsearch更适用于新兴的实时搜索应用。

6、Solr比较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而Elasticsearch相对开发维护者较少,更新太快,学习使用成本较高。

二、ElasticSearch安装


使用Java开发,必须保证ElasticSearch的版本与Java的核心jar包版本对应!(Java环境保证没错)JDK8,最低要求

Windows下安装

1、安装

下载地址:https://www.elastic.co/cn/downloads/

历史版本下载:https://www.elastic.co/cn/downloads/past-releases/

解压即可(尽量将ElasticSearch相关工具放在统一目录下)

2、熟悉目录

1、 bin 启动文件目录
2、config 配置文件目录
    1og4j2 日志配置文件
    jvm.options java 虚拟机相关的配置(默认启动占1g内存,内容不够需要自己调整)
    elasticsearch.ym1 elasticsearch 的配置文件! 默认9200端口!跨域!
3、lib 
    相关jar包
4、modules 功能模块目录
5、plugins 插件目录
    ik分词器

3、启动

一定要检查自己的java环境是否配置好

安装可视化界面

elasticsearch-head

使用前提:需要安装nodejs(不懂百度)

1、下载地址

GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster

2、安装

解压即可(尽量将ElasticSearch相关工具放在统一目录下)

3、启动

cd elasticsearch-head
# 安装依赖
npm install
# 启动
npm run start
# 访问
http://localhost:9100/

存在跨域问题(只有当两个页面同源,才能交互)

同源(端口,主机,协议三者都相同)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值