ElasticSearch学习(一)ElasticSearch概述

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

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

概括:基于Restful标准的高扩展高可用的实时数据分析的全文搜索工具。

1.2、ElasticSearch的基本概念

Index(类似于Mysql数据库中的databases)

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格式的查询语句,专业术语就叫:Query DSL)

GET/PUT/POST/DELETE(分别类似与Mysql中的select/update/delete………)

1.3、RESTFULL API

一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件,它主要用于客户端和服务器互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。在目前主流的三种Web服务交互方案中,REST相比于SOAP以及XML-RPC更加简单明了

(Representational State Transfer意思是:表述性状态传递)

它适用典型的HTTP方法,诸如GET、PUT、POST、DELETE来实现资源的获取,添加,修改,删除等操作,即通过HTTP动词来实现资源的状态扭转复制代码

GET:用来获取资源

POST:用来新建资源(也可以用于更新资源)

PUT:用来更新资源

DELETE:用来删除资源

1.4、CRUL 命令

以命令的方式执行HTTP协议的请求GET/PUT/POST/DELETE

示例:访问一个网页

curl www.baidu.com

curl -o tt.html www.baidu.com 把这个网页加载到tt.html

显示响应的头信息

curl -I www.baidu.com

显示一次HTTP请求的通信过程

curl -v www.baidu.com

执行GET/PUT/POST/DELETE操作

curl -X GET/PUT/POST/DELETE url

你可能感兴趣的:(ElasticSearch)