Elasticsearch
一,倒排索引
elasticsearch搜索性能高的原因是因为底层的倒排索引技术。
倒排索引中的两个重要概念:
- 文档(Document):用来搜索的数据,其中的每一条数据就是一个文档,例如一个网页,一个商品信息。
- 词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的语句就是词条,例如:我是中国人,就可以分为:我,是,中国人,中国,国人这样的词条。
倒排索引:
1.先把文档内容进行分词,形成词条与文档id的对应关系,叫做词条库,词条具备唯一性,建立索引。
2.对搜索内容进行分词,把分词后得到的一个关键词列表。,根据关键词去词条库中匹配,再找到对应的文档id列表。
3.然后根据文档id列表,找到对应的文档信息。
二,ES相关概念对比MySQL
MySQL | Elasticsearch | ES描述 |
---|---|---|
Table | Index | 索引 |
Row | Document | 文档【json】 |
Column | Filed | 字段【域】 |
schema | Mapping | 映射【结构】 |
SQL | DSL | 语句 |
其中前三排的对比最为重要,一定要记好。