Elasticsearch个人心得笔记
目录
2.开发人员非常不习惯去使用DELETE或PUT,get和post最常用;
一.简介
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口(http请求的资源url)。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于能够达到实时搜索,稳定,可靠,快速,安装使用方便。
二.Elasticsearch结构
1.存储位置:
输出到本地,hdfs(Hadoop 有一个称为HDFS的分布式文件系统,有时也简称为DFS。)
2.计算框架:
基于lucene,并且扩展实现了分布式的索引文件(索引文件的分片)
3.自己服务功能模块:
支持自动发现模块(多节点自动添加),在计算框架之上完成了一些自主的功能(对索引的管理,关闭打开索引,读写权限的限制)
4.接口层:
实现了RESTful的接口协议,可以让客户端们通过http协议访问调用使用elasticsearch;
三.REST和RESTful
1关系
- REST是一种设计风格(http协议的访问风格) (ES遵从)
- RESTful满足REST风格的;
2REST
- http请求中的get,post,put,delete,定义的是操作(动词)
- url中的地址http://localhost/order定义的是资源(名词).
2.1资源的含义:
url:http://localhost/easymall/v1.0/order/5
2.2操作的含义:
http提供的八种请求方式,就是为了满足不同的操作要求;
1.增加订单
Put请求访问
url:http://localhost/easymall/v1.0/order/5
2.修改订单
Post请求访问
url:http://localhost/easymall/v1.0/order/5
3.查询订单
Get请求访问
url:http://localhost/easymall/v1.0/order/5
4.删除订单
Delete请求访问
url:http://localhost/easymall/v1.0/order/5
3.应用过程中
1.REST风格很难满足一些非常复杂的业务场景
url:localhost/easymall/v1.0/user/5
- 新增user
- 删除user
- 查询user
修改user
- eamail
- nickname
- password
- 积分
- 排行
- 种类(金牌用户,银牌用户)
2.开发人员非常不习惯去使用DELETE或PUT,get和post最常用;
url遵循REST定义的资源
- localhost/easymall/v1.0/user/checkMobile
- localhost/easymall/v1.0/user/changePassword
- localhost/easymall/v1.0/cart/updateNum
四.操作命令含义
1.对比数据库
对比内容 | 数据库 | elasticsearch |
数据结构 | database | 索引index |
| table | 类型type |
| rows | 文档对象document |
| column | 域属性field |
操作 | sql | RESTful的http访问url地址 |
增 | insert | put请求 |
删 | delete | DELETE请求 |
查 | select | get |
改 | update | post |