Elasticsearch 是一個分散式的搜索引擎,假設今天要搜索有關 dogs的貼文,一般使用關鍵是自料搜索會像select * from posts WHERE content LIKE %dog%;,但如果是使用dog關鍵次則無法被上述查詢找到,因此就出現了Elasticsearch的關鍵字搜索引擎,
Elasticsearch使用invert index用來儲存文字到文件映射關係,其資料結構類似map,例如:
invert index其資料結構如下:
| key | value |
|---|---|
| this | 1, 2 |
| is | 1, 2 |
| a | 1, 2 |
| dog | 1 |
| cat | 2 |
因此今天如果要建立搜索引擎可以使用此Elasticsearch去建置,但其需要花時間去建置其搜索引擎
Solr是基於Lucene的流行、高效能的開源企業級搜尋平臺,其也是用來建置搜索平台工具
Solr與Elasticsearch簡易比較