Elasticsearch 介紹

May 16, 2025

Elasticsearch 可用來進行全文查詢 (全文檢索),常聽到的 ELK 是指 Elasticsearch, Logstash, Kibana 的縮寫。

簡介

產品 描述
Elasticsearch
分散式 JSON 搜尋與分析引擎
Logstash
連結與轉換資料
Kibana
資料視覺化與管理工具

另一個較早出現的是 SQL Server 全文查詢功能。

Elasticsearch 和 SQL Server 全文查詢都用 Invert Index 作為索引,比起使用 SQL Server 直接用 LIKE %Keyword% 做為查詢條件更加快速和有彈性。

和 SQL Server 全文查詢的差異

  • SQL Server 本身包含 LIKE 語法和全文查詢功能。
  • SQL Server 全文查詢能自行控制的部分較少。
  • SQL Server 不容易擴大運行規模,只能在該台主機上加強硬體配備,以達成結果。

Elasticsearch 需要更多維護的成本,但提供更多功能與控制權,如分詞的方式、提供查詢 API 與介面 (含多種查詢方式和選項)、多語系的支援、提供解釋的指令、容易調整同義字和辭庫、整合機器學習,以及地理查詢等等,且分散式系統易於擴充規模和備援。

衍生的 OpenSearch

Elasticsearch 還有從 Amazon 分支出來的 OpenSearch,特色為開源授權。(不過 Elasticsearch 也在近日重新轉為開源授權)

MeiliSearch 全文檢索引擎

MeiliSearch 是另一個簡單、輕量化的替代方案。

在中文匹配方面,有無法分辨同音字的嚴重問題,推測是只有使用拼音查詢資料,到目前還沒有解決,因此不適合套用在產品。

常用 API 的介紹