Elasticsearch

一,倒排索引

elasticsearch搜索性能高的原因是因为底层的倒排索引技术。
倒排索引中的两个重要概念:

  1. 文档(Document):用来搜索的数据,其中的每一条数据就是一个文档,例如一个网页,一个商品信息。
  2. 词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的语句就是词条,例如:我是中国人,就可以分为:我,是,中国人,中国,国人这样的词条。

倒排索引:

1.先把文档内容进行分词,形成词条与文档id的对应关系,叫做词条库,词条具备唯一性,建立索引。
2.对搜索内容进行分词,把分词后得到的一个关键词列表。,根据关键词去词条库中匹配,再找到对应的文档id列表。
3.然后根据文档id列表,找到对应的文档信息。

二,ES相关概念对比MySQL

MySQL Elasticsearch ES描述
Table Index 索引
Row Document 文档【json】
Column Filed 字段【域】
schema Mapping 映射【结构】
SQL DSL 语句

其中前三排的对比最为重要,一定要记好。