# elasticsearch的基本概念
1、集群:一个或者多个节点组织在一起
2、节点:一个节点是集群中的一个服务器,由一个名字来标识,默认是一个随机的漫微角色的名字
3、分片:将索引(相当于数据库)划分为多份的能力,允许水平分割和扩展,对个分片响应请求,提供性能和吞吐量
3、副本:创建分片的一份或者多份的能力(相当于备份),在一个节点失败其余节点可以顶上
# elasticsearch的数据存储概念
1、index(索引,可以理解为数据库)
2、type(类型,可以理解为数据库表)
3、documents(文档,可以理解为数据库表的行)
4、fields(可以理解为数据库表的列)
![](https://box.kancloud.cn/515680034e473c704f034b04445f411f_788x339.png)
## http方法
![](https://box.kancloud.cn/0cbf4b55582e68bf74154ed5a7adfd85_1068x178.png)
GET 请求指定的页面信息,并且返回实体主体
POST 向指定资源提交数据进行处理请求,数据被包含在请求体中,POST请求可能会导致新的资源的建立和/或已有资源的修改
PUT 向服务器传送的数据取代指定的文档的内容
DELETE 请求服务器删除指定的页面
![](https://box.kancloud.cn/aed8cc38a28397b28e64ae320ae35da6_923x566.png)
# 倒排索引
倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。
## 倒排索引原理
就是将一句话进行分词并记录分词所存在的文章,当用户搜索词时可以直接查找到当前词所存在的文章
![](https://box.kancloud.cn/ee9f80300c37f1fff685b881603cbf7a_856x515.png)
## 倒排索引分词权重记录(词频)
![](https://box.kancloud.cn/b6fe5939d4dde42a4f570bee954481b0_806x518.png)
分词权重记录,是通过(TF-IDF)来实现的,详情https://baike.so.com/doc/433640-459181.html
## 倒排索引待解决的问题
这些问题elasticsearch(搜索引擎)已经解决
![](https://box.kancloud.cn/949fcfcdfd1d7d704a7692bda65baec4_991x516.png)