ElasticSearch第1节 Elasticsearch概述

小伦超正经_ElasticSearch 7.0.0博客

一、ES产生背景

  1. 海量数据组合查询
  2. 毫秒级或秒级返回数据
类比场景一:图书馆找书
场景二:不同条件组合查询

Lucence

lucence是一个开放源代码的全文索引工具包

ElasticSearch:

ElasticSearch 是一个机遇Lucence的搜索服务器。它提供了一个分

Lucence VS ElasticSearch

  1. 半成品与成品的关系
  2. Lucence专注于搜索底层的建设,而ElasticSearch专注于企业应用

Solr

Solr是Apache下的一个开源项目

ES VS 关系型数据库,ES7.0.0开始移除了Type这一概念
ES架构
ES工作原理

第一节 ElasticSearch概述

1.1ElasticSearch是一个基于Lucence的的搜索服务器。

  它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。ElasticSearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
  构建在全文检索开源软件Lucene之上的Elasticsearch,不仅能对海量规模的数据完成分布式索引与检索,还能提供数据聚合分析。据国际权威的数据库产品评测机构DBIlEngines的统计,在2016年1月, Elasticsearch已超过Solr等,成为排名第一的搜索弓丨擎类应用
概括:基于Restful标准的高扩展高可用的实时数据分析的全文搜索工具

1.2ElasticSearch 的基本概念

index
类似于mysql数据库中的database

Type
类似于mysql数振库中的table表,es中可以在Index中建立type ( table) , 通 过 mapping进行映射。

document
由于es存储的数据是文档型的,一条数据对应一篇文档即相当于MySQL数据库中的一行row, —个文档中可以有多个字段也就是mysql数据库一行可以有多列.

Field
es文挡中对应的多个列与mysql数据中每一列对应

Mapping
可以理解为mysql或者solr中对应的schema,只不过有些时候es中的mapping增加了动态识别功能,感觉很强大的样子,其实实际生产环境上不建议使用,最
好还是开始制好了対应的schema为主.

indexed
就是名义上的建立素引。mysql中一般会对经常使用的列増加相应的索引用于提高查询速度,而在es中默认都是会加上索引的,除非你持殊制定不建立索引只
是进行存储用于展示,这个需要看你具体的需求和业务进行设走了。

Query DSL
类似于mysql的sql语句,只不过在es中是使用的json格式的查寻语句,专业术语就叫:QueryDSL

GET/PUT/POST/DELETE
分别类似与 mysql 中的 select/update/delete......

1.4RESTfull API

一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以 更简洁,更有层次,更易于实现缓存等机制。在目前主流的三种Web服务交互方案中,REST相比于SOAP (Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了
(Representational State Transfer :表述性状态传递)
它使用典型的HTTP方法,请如GET,POST.DELETE,PUT来实现资源的获取、添加、修改,删除等操作。即通过HTTP动词来实现资源的状态杻转复制代码

GET 用来获取资源
POST 用来新建资源(也可以用来更新资源)
PUT 用来更新资源
DELETE 用来删除资源

1.5CRUL 命令
以命令的方式执行HTTPt办议的谞求GET/POST/PUT/DELETE
示例:访问一个网页
curl www.baidu.com
将百度的网页信息保存到tt.html网页里去
curl -o tt.html www.baidu.com
S示响应的头信息
curl -i www.baidu.com
显示一次HTTP请求的通信过程
curi -v www.baidu.com
执行GET/POST/PUT/DELETE 操作
curl -X GET/POST/PUT/DELETE url

你可能感兴趣的:(ElasticSearch第1节 Elasticsearch概述)