ElasticSearch 一 (工作要用,没办法,搞搞吧!)

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。

第一章:ES简介

1、ES定义

ElasticSearch是一款基于Apache Lucene构建的开源搜索引擎,它采用Java编写并使用Lucene构建索引、提供搜索功能,ElasticSearch的目标是让全文搜索变得简单,开发者可以通过它简单明了的RestFul API轻松地实现搜索功能,而不必去面对Lucene的复杂性。ES能够轻松的进行大规模的横向扩展,以支撑PB级的结构化和非结构化海量数据的处理。

总结:ElasticSearch是一款基于Lucene的实时分布式搜索和分析引擎。ElasticSearch设计主要用于云计算中,能够达到实时搜索、稳定、可靠、快速,安装使用也非常方便。
官网:www.elastic.co

2、关键概念:

节点(node): 它指的是Elasticsearch的单个运行实例。单个物理和虚拟服务器可容纳多个节点,这取决于它们的物理资源(如RAM、存储和处理能力)的能力,单个节点的jvm内存最大32G为最优配置。

群集cluster:它是一个或多个节点的集合。群集为所有数据提供了跨所有节点的集体索引和搜索功能。

索引index:它是不同类型的文档及其属性的集合。索引还使用分片的概念来提高性能。

文档:它是以JSON格式定义的特定方式的字段集合。每个文档都属于一种类型,并且位于索引内。每个文档都与一个称为UID的唯一标识符相关联。

碎片:索引在水平方向上细分为碎片。这意味着每个分片都包含文档的所有属性,但所包含的JSON对象的数量要少于索引。水平分隔使分片成为一个独立的节点,可以将其存储在任何节点中。主分片是索引的原始水平部分,然后将这些主分片复制到副本分片中。

副本:Elasticsearch允许用户创建索引和碎片的副本。复制不仅有助于在发生故障时提高数据的可用性,而且还通过在这些副本中执行并行搜索操作来提高搜索性能。

ElasticSearch优势

  • Elasticsearch是在Java上开发的,这使得它在几乎所有平台上都兼容。

  • Elasticsearch是实时的,换句话说,一秒钟后添加的文档就可以在这个引擎中搜索了

  • Elasticsearch是分布式的,因此可以轻松地在任何大型组织中进行扩展和集成。

  • 使用 gateway 的概念创建完整的备份非常简单,这个概念在 Elasticsearch 很常见。

  • 与Apache Solr相比,在Elasticsearch中处理多租户非常容易。

  • Elasticsearch使用JSON对象作为响应,这使得可以使用大量不同的编程语言来调用Elasticsearch服务器。

  • 除了不支持文本渲染的文档类型外,Elasticsearch支持几乎所有文档类型。

ElasticSearch缺点

  • 在处理请求和响应数据方面,Elasticsearch不提供多语言支持(仅在JSON中可用),与Apache Solr不同,后者可以CSV,XML和JSON格式。

  • 有时,Elasticsearch会出现脑裂情况的问题,建议部署集群时node为奇数。

第二章:REST

REST、全称Representational State Transfer。是一种软件的架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。就是类似HTTP的访问,和HTTP非常的相似。 REST操作:

GET:获取对象的当前状态; PUT:改变对象的状态;

POST:创建对象; DELETE:删除对象; HEAD:获取头信息。、

ES内置REST接口

ElasticSearch 一 (工作要用,没办法,搞搞吧!)_第1张图片

第三章:ES安装

1、单机版

----未完待续-----

第四章:ES查询语句(推荐大佬博客)

ES基本查询语句教程 - @ 小浩 - 博客园 (cnblogs.com)icon-default.png?t=N7T8https://www.cnblogs.com/xiohao/p/12970224.html

总结

路虽远行则将至,事虽难做则必成!

滴水穿石,聚沙成塔!

感谢CSDN各位大佬的经典博文,在迷茫时能够拨云见日,指点迷津,让我继续一路前行!

如有侵权,请留言,我及时删除

你可能感兴趣的:(elasticsearch,大数据,搜索引擎)