Elasticsearch 入门篇


Elasticsearch :分布式、高性能、高可用、可伸缩的搜索和分析系统

假设数据库里有100万条数据:

数据库查询

  按照之前的思路,需要扫描100万次,而且每次扫描,都需要匹配那个文本所有的字符,确认是否包含搜索的关键词,而且还不能将搜索词拆解开来进行检索

倒排索引:如果有100万条数据,拆解出来的词语,假设有1000万个词语,那么在倒排索引中,就有1000万行,我们可能并不需要搜索1000万次。

         很可能在第一次的时候,就可以找到这个搜索词对应的数据;也可能在第100次或在第1000次

Lucene:  就是一个jar包,里面包含了封装好的各种建立倒排索引,以及进行搜索的代码,包括各种算法。我们进行开发的时候,直接引入lucene的jar, 然后基于lucene进行开发就好;

    用lucene,我们就可以去将已有的数据建立索引,lucene会在本地磁盘上面,给我们组织索引的数据结构;另外,我们也可以用lucene提供的功能和api来针对磁盘上的索引数据,进行搜索;

es工作原理:

es文档管理:

es索引管理:

es搜索

es聚合分析:

es分词:

es数据建模:

es