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簡易比較