天天看點

什麼是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也是一種大資料搜尋架構。

繼續閱讀