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/n/201020.html
微信扫一扫
支付宝扫一扫