Elasticsearch是一個分散式、高性能、可擴展、全文搜索引擎。它借鑒了諸如Apache Lucene等搜索引擎的精華,並在此基礎上不斷擴展。
一、概述
Elasticsearch最初由Shay Banon在2010年創建,主要基於Lucene。Elasticsearch基於Apache Lucene構建,通常作為全文搜索引擎使用,支持分散式部署,和強大的RESTful API。Elasticsearch為企業提供強大的搜索和分析功能。
Elasticsearch 可以輕鬆擴展以處理大量數據以及高並發的搜索和寫入操作。它提供了簡單的 RESTful API,具有快速的速度,分散式實例之間的性能和數據分散。
二、安裝及部署
首先,需要到官網下載 Elasticsearch
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.1-linux-x86_64.tar.gz
可以將其解壓到某一目錄下,例如:
tar -xvf elasticsearch-7.12.1-linux-x86_64.tar.gz
然後,可以啟動 Elasticsearch:
cd elasticsearch-7.12.1/bin ./elasticsearch
可以用瀏覽器訪問:http://localhost:9200/,返回類似以下的json格式內容:
{ "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "gkQ7KsF-RHmB89WmWFx5zw", "version" : { "number" : "7.12.1", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "3186837139b9c6b6d23c3200870651f10d3343b7", "build_date" : "2021-04-20T20:56:39.040728659Z", "build_snapshot" : false, "lucene_version" : "8.8.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
三、數據操作
Elasticsearch 是一個文檔資料庫,數據以文檔(document)為單位組織。一個文檔可以是純文本、JSON 甚至是二進位數據,它們是以 JSON 格式存儲在 Elasticsearch 中。
可以通過RESTful API來操作數據。例如,創建一個名為「tag」的索引,可以執行以下命令:
PUT /tag
然後,可以添加文檔到索引當中:
POST /tag/_doc/1 { "name": "elasticsearch", "description": "一個分散式、高性能、可擴展、全文搜索引擎" }
接著,可以使用以下的查詢來查詢數據:
GET /tag/_search { "query": { "match": { "name": "elasticsearch" } } }
上述查詢會返回 name 中包含 「elasticsearch」 字元串的所有文檔。這裡,文檔是以 JSON 格式返回的,有利於與應用程序集成。
四、集群和擴展性
Elasticsearch支持集群模式,讓您可以將數據分片至多台伺服器,以避免單點故障,提高可用性。
在 Elasticsearch 中,數據被拆分成多個碎片(片段)。因此,可以將這些片段分布到不同的伺服器上。許多伺服器之間可以共享責任,最終提供一個強大的搜索功能。此外,當增加較多的數據時,也可以輕鬆地添加額外的節點。
五、Elasticsearch性能調優
Elasticsearch 通過增加數據節點來提高搜索性能。另外,可以調整以下參數來提高 Elasticsearch的搜索速度:
1.並發級別的增加
2.調整 Lucene 的近似估計閾值
3.提升 JVM 堆內存大小
4.使用最新的 Elasticsearch 版本
六、Elasticsearch的應用案例
Elasticsearch被廣泛應用於許多企業和網站,主要應用的場景包括:
1.搜索引擎
2.日誌收集和搜索
3.商業智能
4.安全分析
七、結論
以上就是關於Elasticsearch搜索引擎的簡單介紹和使用方法。通過這些方法,可以了解Elasticsearch的基礎知識、安裝、數據操作、集群擴展和調優以及應用案例等方面。希望這篇文章對您有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/201020.html