iT邦幫忙

2024 iThome 鐵人賽

DAY 0
0
自我挑戰組

重新開始 elasticsearch 系列 第 1

2024 鐵人賽 Day2: 簡介 Elasticsearch

  • 分享至 

  • xImage
  •  

今天的內容會簡單說明 elasticsearch 這個工具,如果你已經熟悉 elasticsearch,可以跳過這一篇。

The heart of the free and open Elastic Stack: Elasticsearch is a distributed, RESTful search and analytics engine, scalable data store, and vector database capable of addressing a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data for lightning fast search, fine‑tuned relevancy, and powerful analytics that scale with ease. —elastic official web [1]

從 elastic 官方網站對 elasticsearch 的描述,可以抓出幾個特點:

  • Elastic Stack 的核心
    • Elastic Stack 是 Elastic 公司推出的系列產品的總和,其中 Elasticsearch 作為資料貯存、查詢的引擎;其他產品各圍繞著 Elasticsearch 有不同的功能,例如 Kibana 作為分析、搜尋 elasticsearch 資料的圖形化介面,也提供資料視覺化的功能,本文中主要會使用 kibana 進行查詢(query)測試。
  • 分散式
    • Ealsticsearch 與多數分散式系統例如 hadoop 相似,具有主從結構、資料副本等設計,而讓整個系統具有可擴展性(Scalability)與高可用性(High Availability, HA)。
  • 搜尋與分析引擎
    • 搜尋引擎
      • 搜尋引擎是 Elasticsearch 與其他資料庫服務產生重大差異的地方,搜尋引擎最重要的功能之一是『全文搜索』,針對文本資料進行關鍵字搜尋。另外一個重要的功能是『模糊搜尋』,也就是相似查找的功能;當資料主體是『文本』時,『全文搜尋』與『模糊搜尋』是很有力的工具。
      • 其他資料庫並非無法達成這兩個重要的功能,只是效能不彰或是需要額外的開發或搭配工具使用。
      • 而 Elasticsearch 提供全文搜索的關鍵在於 Reverted Index 方法與 BKD Tree 這兩種設計,其中 BKD Tree 主要用於地理資訊內容的搜索[2];在 Ealsticsearch 中,這兩項技術奠基於 Apache Lucene 這個開源軟體 [3]。
    • 分析引擎
      • 除了搜尋功能外,elasticsearch 也提供資料的聚合、數學計算等功能,可以針對搜尋結果進行分析。
      • 近年因為大型語言模型發展,Elasticsearch 於版本 8.0 後亦可作為 vector db 使用,並內建簡易的 vector 搜尋算法,例如 ANN(Approximate Nearest Neighbor) 搜尋、語意搜尋(semantic search)等。

以上是對 Elasticsearch 大致的介紹,大部分的內容都是從官網來的,在瀏覽官網的時候,發現 Elastic Stack 跟我幾年前使用的內容已經有很大的不同:有很多新工具、產品, 核心的 elasticsearch 搜尋引擎也有很多新東西,甚至也可以作為 vector db 使用,非常目不暇給和讓我感到驚慌 XD(我熟悉的東西還剩多少呢?

下一篇會說明怎麼用 docker 蓋出一個 single node elasticsearch + kibana 的地端叢集。

ref
[1] https://www.elastic.co/elasticsearch

[2] https://www.elastic.co/blog/bkd-backed-geo-shapes-in-elasticsearch-precision-efficiency-speed

[3] https://www.elastic.co/guide/en/elasticsearch/reference/current/elasticsearch-intro.html


下一篇
2024 鐵人賽 Day3: docker 安裝 elasticsearch + kibana
系列文
重新開始 elasticsearch 29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
Anna Yen
iT邦新手 5 級 ‧ 2024-10-02 21:10:54

有個小故事分享。
Apache Lucene 跟 Apache Hadoop 也有親緣關係喔~都是 Doug Cutting 所發起的開源大數據專案。

我要留言

立即登入留言