背景
现在我们项目要开发词云这个功能,涉及到分词(将句子拆成词,然后计算词出现的频率),elasticsearch 变成了我们技术的首选项,让我们一起来学习elasticsearch 吧
相关概念
定义:
easticsearch 是一个强大的开源搜索和分析引擎。
使用场景:
它被设计用于实时搜索、分析和存储数据,具有高性能、分布式架构和强大的查询能力。
特点:
全文搜索和分析:Elasticsearch 提供了强大的全文搜索功能,能够快速地搜索和匹配文本数据。它支持复杂的查询和过滤条件,支持分词、词干提取等文本处理技术。
实时性:Elasticsearch 的实时性能极高,它能够在数据插入后几乎立即使新数据可用于搜索和分析。这对于实时监控、日志分析等场景非常重要。
分布式架构:Elasticsearch 基于分布式架构,可以在多个节点上存储和处理数据。这使得它能够处理大量数据并实现水平扩展,从而提高性能和容错性。
索引和倒排索引:Elasticsearch 使用倒排索引来加速搜索,倒排索引是一种将词汇表中的每个单词映射到包含该词的所有文档的数据结构。这使得 Elasticsearch 能够快速定位文档中的关键词。
多种数据类型支持:除了文本数据,Elasticsearch 也支持处理数值、日期、地理位置等不同类型的数据。
强大的查询语言:Elasticsearch 提供了丰富的查询语言,允许用户构建复杂的查询、过滤和聚合操作,从而精确地获取所需的数据。
聚合和分析:Elasticsearch 支持各种聚合操作,使用户能够从数据中提取有价值的信息,生成图表、报告和可视化。
可扩展性:Elasticsearch 允许您通过添加更多的节点来扩展集群的能力,从而适应不断增长的数据量和流量。
插件支持:Elasticsearch 提供了丰富的插件生态系统,允许用户根据需要添加新的功能和扩展。
开源社区:作为一个开源项目,Elasticsearch 拥有庞大的开发者社区,可以为用户提供支持、教程和解决方案。
多维度思考:
What(什么):
Elasticsearch 是一个开源的实时搜索和分析引擎。
它可以高效地存储、搜索和分析大规模的非结构化或半结构化数据。
Why(为什么):
Elasticsearch 的目标是为了解决处理大量数据的搜索、分析和可视化需求。
它提供了快速的实时性能、强大的全文搜索能力和灵活的分布式架构,适应了大数据时代的需求。
Where(在哪里):
Elasticsearch 可以在各种环境中使用,包括本地服务器、云服务、容器等。
它可以运行在单个节点上,也可以在多个节点上构建分布式集群。
When(何时):
Elasticsearch 在需要实时搜索、分析和可视化数据的场景下非常有用。
在实时监控、日志分析、商务智能、搜索引擎等方面都可以应用。
Who(谁):
Elasticsearch 适用于开发人员、数据分析师、系统管理员等各种角色。
它对于需要处理和理解大量数据的任何人都具有价值。
How(如何):
Elasticsearch 使用倒排索引来加速搜索过程,同时支持各种查询操作。
用户可以通过 RESTful API 发送请求来执行查询、过滤、聚合等操作。
它的分布式架构使得数据可以水平扩展,以应对不断增长的数据负载。
例:假设您想要从名为 products 的索引中搜索名称包含 “手机” 的商品:
POST /products/_search
{
"query": {
"match": {
"name": "手机"
}
}
}
How Much(多少):
Elasticsearch 是开源软件,可以免费下载和使用。
成本主要涉及到硬件、维护和扩展集群的成本,这取决于您的使用情况和规模。
步骤
安装 Elasticsearch
安装 Elasticsearch 可以按照以下步骤进行操作。请注意,这里提供的步骤适用于一般情况,具体步骤可能会因您的操作系统和版本而略有不同。
安装 Java:
Elasticsearch 是基于 Java 开发的,所以首先需要安装 Java。确保您的系统中已经安装了 Java(建议使用 Java 8 或更高版本)。
下载 Elasticsearch:
访问 Elasticsearch 官方网站(https://www.elastic.co/downloads/elasticsearch)下载适合您操作系统的 Elasticsearch 安装包。
解压缩安装包:将下载的安装包解压到您选择的目录中。
配置 Elasticsearch:
进入解压后的 Elasticsearch 目录,找到 config 文件夹。在这个文件夹中,您可以找到 elasticsearch.yml 文件,这是 Elasticsearch 的主要配置文件。根据您的需求,进行必要的配置,如集群名称、节点名称、绑定的 IP 地址等。
启动 Elasticsearch:
打开命令行终端,导航到 Elasticsearch 的 bin 目录,然后运行以下命令来启动 Elasticsearch:
./elasticsearch
如果您使用的是 Windows 系统,运行 elasticsearch.bat 文件。
验证 Elasticsearch 运行:在启动后,您可以打开浏览器并访问 http://localhost:9200,如果看到类似的 JSON 格式响应,表示 Elasticsearch 已成功运行。
安装插件(可选):根据您的需求,您可能需要安装一些 Elasticsearch 插件来扩展其功能。例如,如果您使用 Kibana,您可能需要安装 X-Pack 插件。
这些步骤提供了一个基本的安装过程。在实际操作中,还可能涉及更多的配置和调整,以适应您的具体情况和需求。
详情可参照:
ElasticSearch7.6.2-安装部署全过程
Spring boot 2.3.12集成ElasticSearch7.6.2并进行CRUD
注意开端口号,还有修改配置文件将127.0.0.1改成0.0.0.0
添加指定需要开放的端口:
firewall-cmd --add-port=123/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
查询指定端口是否开启成功:
firewall-cmd --query-port=123/tcp
安装Kibana
安装 Kibana 也是一个相对简单的过程。以下是安装 Kibana 的一般步骤。请注意,具体步骤可能因您的操作系统和版本而略有不同。
下载 Kibana:访问 Kibana 官方网站(https://www.elastic.co/downloads/kibana)下载适合您操作系统的 Kibana 安装包。
解压缩安装包:将下载的 Kibana 安装包解压到您选择的目录中。
配置 Kibana:进入解压后的 Kibana 目录,找到 config 文件夹。在这个文件夹中,您可以找到 kibana.yml 文件,这是 Kibana 的主要配置文件。根据您的需求,进行必要的配置,如连接到 Elasticsearch 的 URL、服务器端口等。
启动 Kibana:打开命令行终端,导航到 Kibana 的 bin 目录,然后运行以下命令来启动 Kibana:
./kibana
如果您使用的是 Windows 系统,运行 kibana.bat 文件。
访问 Kibana:默认情况下,Kibana 使用 5601 端口。在浏览器中访问 http://localhost:5601,您将看到 Kibana 的登录页面。
登录并配置索引模式:首次登录 Kibana 时,您需要设置索引模式。索引模式指向 Elasticsearch 中存储的数据,以便在 Kibana 中进行可视化和分析。按照提示步骤,选择您要在 Kibana 中分析的索引,然后按照指导完成设置。
开始使用 Kibana:一旦设置好索引模式,您就可以在 Kibana 中创建仪表盘、可视化图表等,来分析和展示 Elasticsearch 中的数据。
这些步骤提供了一个基本的安装和配置过程。在实际操作中,您可能需要根据您的需求进行更多的配置和调整。同样,请务必参考 Kibana 官方文档,以获取更详细的信息和指导。在安装 Kibana 之前,建议您熟悉您所使用的操作系统和 Kibana 版本的特定要求。
Spring boot 2.3.12集成ElasticSearch7.6.2并进行CRUD