天天看点

什么是ElasticSearch?

啥是ElasticSearch?

问这个问题前,我们可以问一些别的问题:

说一首提到月亮的古诗词。

额,这个时候,确实哈,这样突然一问,脑瓜子嗡嗡的,离离原上草,一睡一枯荣?

不不不,这不是挨个背吗?谁背课文的时候会记住这首古诗和月亮有关系?

这不都是老师经常这样问吗:来,王同学,你给背一下李白的《草》。

这个时候,头脑风暴,算法启动:李白的《草》,脱口而出:离离原上草,一睡一枯荣

那么换一种思维:

草à《草》

月亮à《静夜思》

我们可以将(举头望明月,低头思故乡)作为key,(静夜思)作为value。因为我们需要找到的是静夜思。

这样的话,我们就形成了一种反向查找,

然后我们可以使用(月亮)作为key,(举头望明月,低头思故乡)作为value,

这样的话,又形成了一种反向排序。

这样的话,就是一种倒排索引的原理。

那么倘若我们使用“举”作为key,“举头望明月,低头思故乡”作为value。那么就生成了一种索引信息。

那么倘若我们使用“头”作为key,“举头望明月,低头思故乡”作为value。那么就又生成了一种索引信息。

那么倘若我们使用“望”作为key,“举头望明月,低头思故乡”作为value。那么就又生成了一种索引信息。

那么倘若我们使用“明”作为key,“举头望明月,低头思故乡”作为value。那么就又生成了一种索引信息。

那么倘若我们使用“月”作为key,“举头望明月,低头思故乡”作为value。那么就又生成了一种索引信息。

那么倘若我们使用“低”作为key,“举头望明月,低头思故乡”作为value。那么就又生成了一种索引信息。

那么倘若我们使用“头”作为key,“举头望明月,低头思故乡”作为value。那么就又生成了一种索引信息。

那么倘若我们使用“思”作为key,“举头望明月,低头思故乡”作为value。那么就又生成了一种索引信息。

那么倘若我们使用“故”作为key,“举头望明月,低头思故乡”作为value。那么就又生成了一种索引信息。

那么倘若我们使用“乡”作为key,“举头望明月,低头思故乡”作为value。那么就又生成了一种索引信息。

这个时候,就是一种索引量爆炸的概念。

这两就是es的核心内容:倒排索引,索引量爆炸。

那么拓展一些疑问:什么又是Solr?其实在这里问这个问题,肯定是有关系的对不?

是的,solr也是一种大数据搜索框架。

继续阅读