自学内容网 自学内容网

Elasticsearch初步使用教程及与MySQL数据存储对比

Elasticsearch初步使用教程

1. Elasticsearch简介

Elasticsearch是一个基于Lucene的搜索服务器,它提供了分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开源发布,是当前最流行的企业级搜索引擎之一。

2. 安装Elasticsearch

2.1 系统要求

确保你的机器已经安装了Java 8或更高版本,并且JAVA_HOME环境变量已经设置。

2.2 下载与解压

访问Elasticsearch官网下载对应版本的安装包,并解压到本地环境中:

 

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.3-linux-x86_64.tar.gz
tar -zxvf elasticsearch-8.14.3-linux-x86_64.tar.gz
2.3 修改配置文件

编辑config/elasticsearch.yml文件,设置集群名称和节点名称:

 

yaml

cluster.name: my-application
node.name: node-1

设置数据和日志保存地址:

 

yaml

path.data: /usr/local/elasticsearch-8.14.3/data
path.logs: /usr/local/elasticsearch-8.14.3/logs
2.4 启动Elasticsearch

bin目录下运行以下命令启动Elasticsearch:

 

./elasticsearch

如果启动时遇到内存不足的错误,执行以下命令增加虚拟内存限制:

 

sudo sysctl -w vm.max_map_count=262144

3. 使用Elasticsearch

3.1 测试Elasticsearch

在浏览器或命令行中访问http://localhost:9200,如果Elasticsearch正在运行,你将看到一个包含节点信息的JSON对象。

3.2 安装Kibana

Kibana是一个用于探索、可视化和分享Elasticsearch数据的客户端。安装Kibana并配置它连接到Elasticsearch:

 

shell

server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

4. Elasticsearch数据存储机制

Elasticsearch以JSON(JavaScript Object Notation)格式存储数据,这使得它在处理半结构化数据时非常灵活。每个文档都被视为一个JSON对象,包含多个字段。当文档被索引时,其原始数据或特定字段可以被存储在Elasticsearch中,以便后续能够检索到原始的字段值。

Elasticsearch与MySQL数据存储对比

1. 数据存储模型

  • MySQL:采用关系模型进行数据存储,使用表格进行数据的组织和存储,支持复杂的关系型查询和事务处理。
  • Elasticsearch:采用文档型存储模型,以JSON格式存储文档,它不支持事务,但提供了分布式、高性能的全文搜索和分析功能。

2. 检索和查询

  • MySQL:可以执行结构化的SQL查询,支持复杂的关系型查询语句,但对于全文搜索等需求支持较弱。
  • Elasticsearch:提供强大的全文搜索和文本分析功能,可以执行复杂的查询,支持多种类型的模糊搜索、聚合分析和实时数据分析。

3. 实时性

  • MySQL:索引和查询速度相对较慢,可能无法满足对实时性要求较高的应用场景。
  • Elasticsearch:以近实时的方式处理数据。它具有快速的索引和搜索速度,使得实时数据的更新和查询能够迅速完成。

通过上述对比,我们可以看到Elasticsearch和MySQL在数据存储和检索方面有着本质的不同,它们各自适用于不同的应用场景。Elasticsearch擅长处理大规模数据的全文搜索和实时分析,而MySQL则更适合于需要强一致性和事务支持的结构化数据存储。

Elasticsearch 是一种非常灵活的数据库,它在某些方面(如全文搜索和实时分析)的性能远超传统关系型数据库,但在需要复杂事务处理和数据关系管理的场景下,关系型数据库可能更为合适。因此,很多现代应用会将 Elasticsearch 和关系型数据库结合使用,以利用各自的优势。


原文地址:https://blog.csdn.net/weixin_73687229/article/details/143587477

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!