Elasticsearch 是开源分析和搜索引擎。 它是用于服务器和网站的增强型搜索引擎。 或者,通俗地说,Elasticsearch 是一种带有一些 JSON 文件的数据库,可以从大量的数据索引中进行搜索。 如果您拥有数据服务器、Web 服务器或网站,您可以在系统上安装和配置 Elasticsearch 引擎以查找数据库参数。 Elasticsearch 可以与 Linux 服务器和系统一起安装和配置,以对数据进行排序、提升搜索结果、过滤搜索参数。 基本上,你可以在你的服务器上使用 Elasticsearch 引擎来做各种各样的事情来构建一个强大的搜索引擎。
Elasticsearch 的工作原理
Elasticsearch 使用普通的 HTTP 请求进行响应,并保持数据库更新,这样它就不会错过任何查询。 您可以通过 Elasticseach 引擎运行查询并分析数据库中的数据。 您可以在新的和现有的服务器上安装 Elasticsearch; 它不会在搜索查询中复制您的数据。
Elasticsearch 使用应用程序性能管理 (APM) 工具从源数据库中收集索引数据、元数据和其他数据字段。 它还允许 API 支持以获得更好的性能。
Elasticsearch 允许您创建饼图和数据的其他图形表示。 这不是商业智能,而是很好地分析数据。 您可以在 Linux 系统上通过 Elasticsearch 查找 CPU 和内存使用情况、检测异常以及存储数据。
在 Linux 上安装 Elasticsearch
Elasticsearch 是用 Java 编写的,因此您需要在 Linux 系统上安装 Java 才能在系统上安装 Elasticsearch。 它允许 API 集成,以便您可以在不同的 Web 应用程序上使用它。 您可以在 Linux 系统上安装 Elasticsearch 并使用现有的 Apache 或 Nginx 服务器。 在这篇文章中,我们将了解如何在 Linux 系统上安装和使用 Elastic Search。
1. 在 Ubuntu/Debian Linux 上安装 Elasticsearch
在基于 Debian 的 Linux 系统上安装 Elasticsearch 并不是一项复杂的任务; 它简单明了。 您需要了解一些基本的终端命令并拥有系统的 root 权限。 以下步骤将指导您在 Ubuntu 和其他 Debian Linux 机器上安装 Elasticsearch。
第 1 步:安装 Java 弹性搜索
Elasticsearch 需要 Java 在 Linux 系统上配置 Web 库函数。 如果您的系统没有安装 Java,您可以在 shell 上运行以下终端命令来安装 Java。
sudo apt install openjdk-11-jre-headless
Java 安装完成后,不要忘记检查 Java 版本以确保其安装正确。
java -version
第 2 步:在 Debian Linux 上为 Elasticsearch 添加 GPG 密钥
为了轻松安装 Elasticsearch,您需要将 Elasticsearch 的 GPG-key(Gnu Privacy Guard)添加到您的 Linux 系统。 在终端外壳上运行以下 cURL 命令以添加 GPG 密钥。
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
对于 Dedina 发行版,Linux 存储库中提供了 Elasticsearch。 您需要将其添加到系统存储库中。 您可以运行以下 echo 命令将 Elasticsearch 添加到系统的存储库中。
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
当 echo 命令结束时,更新您的系统存储库并检查它是否已添加到您的软件中。 您可以在“软件和更新”工具的“其他软件”选项卡下找到您的系统存储库。
sudo apt-get update
第 3 步:在 Debian/Ubuntu 上安装 Elasticsearch
添加 GPG 密钥并更新存储库后,只需单击几下即可安装 Elasticsearch。 您现在可以在具有 root 权限的终端 shell 上运行以下 aptitude 命令,以在您的 Debian 系统上安装 Elasticsearch。
sudo apt install elasticsearch
2. 安装 Elasticsearch Fedora 工作站
如果您使用的是 Fedora Linux 系统,以下步骤将指导您在您的机器上安装 Elasticsearch。 我已经在我的 Fedora 工作站; 这些步骤也可以在其他基于 Red Hat 的系统上执行。
第 1 步:安装 Java Fedora 工作站
正如我之前提到的,安装 Elasticsearch 需要 Java; 首先,我们将在我们的系统上安装 Java。 如果您的系统上已经安装了 Java,则可以跳过安装它。 要确定是否安装了 Java,您可以在终端 shell 上运行快速版本检查命令。
java -version
如果您看不到任何 Java 版本作为回报,您现在可以运行以下 DNF 命令将其安装到您的 Fedora Linux。
sudo dnf install java-11-openjdk
第 2 步:添加 用于 Elasticsearch 的 Gnu 隐私保护
在这一步中,我们需要将 Elasticsearch 的 GPG-key 添加到我们的系统中。 您可以在终端 shell 上运行以下命令来添加 GPG 密钥。
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
现在,我们需要在 /etc/yum.repos.d 目录中为 Elasticsearch 创建一个存储库文件。 您可以打开浏览文件系统并创建一个新的文本文档脚本并将其重命名为 elasticsearch.repo。 如果您在制作新的存储库文件时遇到权限问题,可以运行以下命令 chown
命令来访问文件。 不要忘记用您的用户名替换“ubuntupit”这个词。
sudo chown ubuntupit elasticsearch.repo
然后您需要将以下脚本复制并粘贴到 elasticsearch.repo 文件中,然后保存并退出该文件。
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
第 3 步:安装 Elasticsearch Fedora
安装 Java 并添加 GPG 密钥后,我们现在将在我们的 Fedora Linux。 在安装它之前,您可能需要运行一个快速的 DNF clean 命令来清除系统中的存储库元数据。 然后在您的 shell 上以 root 权限运行以下 YUM 命令,以在您的系统上安装 Elasticsearch。
sudo dnf clean sudo yum install elasticsearch
如果在系统上安装它时遇到任何问题,可以运行以下 DNF 命令以避免错误。
sudo dnf install elasticsearch-oss
安装完成后,您现在可以在终端 shell 上运行以下系统控制命令,以在您的 Linux 机器上启动和启用 Elasticsearch。
sudo systemctl start elasticsearch sudo systemctl enable elasticsearch
如果一切正常,您可以运行以下系统控制命令来检查您机器上 Elasticsearch 的状态。 作为回报,您将看到服务名称、主 PID、激活状态、任务详细信息和 CPU 运行时间。
sudo systemctl status elasticsearch
在 Linux 上配置 Elasticsearch
在 Linux 机器上安装 Elasticsearch 后,您可能需要使用您的服务器 IP 地址对其进行配置,以便将其加载到您的服务器中。 在这里,我使用 localhost (127.0.0.1) 地址来加载它。 您可以在终端 shell 上运行以下命令来打开配置脚本。
sudo nano /etc/elasticsearch/elasticsearch.yml
当脚本打开时,找到 network.host 参数并将现有值替换为活动服务器的地址。 更改 IP 地址后,保存并退出文件。
network.host: localhost
现在,在您的 Linux 系统上启动并启用 Elasticsearch,以便在您的机器上重新加载它。
sudo systemctl start elasticsearch sudo systemctl enable elasticsearch
当您使用新端口添加新 IP 地址时,将其添加到防火墙总是很棒。 我必须提到,默认情况下,Elasticsearch 使用网络端口 9200-9300。 在这里,我将使用端口 9200 来使用 localhost 地址配置 Elasticsearch。
由于 Ubuntu 使用 UFW 工具进行防火墙设置,您可以在终端 shell 上运行以下 UFW 命令以允许系统上的端口 9200。
sudo ufw allow from 127.0.0.1 to any port 9200 sudo ufw enable
您现在可以在终端外壳上检查 UFW 状态,以检查该端口是否已添加到网络系统中。
sudo ufw status
如果您正在使用 Fedora、Red Hat Linux 和其他 Linux 发行版,您可以使用 Firewalld 命令为您的环境启用端口 9200。 首先,在您的 Linux 系统上启用 Firewalld。
systemctl status firewalld systemctl enable firewalld sudo firewall-cmd --reload
现在,将规则添加到 Firewalld 设置。 然后重新启动 Angular CLI 系统。
firewall-cmd --add-port=9200/tcp firewall-cmd --list-all
开始使用 Elasticsearch
在我们的 Linux 系统上安装、配置服务器 IP 并添加防火墙规则之后,现在该开始使用它了。 在这里,我将运行一个 cURL 命令,通过 Elasticsearch 向您的服务器发送请求。 作为回报,您会在返回页面的底部看到主机名、集群名称、UUID 和 Elasticsearch 的标签行。
curl -X GET 'https://localhost:9200'
我们可以尝试在 Elasticsearch 数据库中插入一个字符串数据并拉取数据以检查它是否正常工作。 运行以下 cURL 命令将数据推送到系统内部。
curl -X POST 'https://localhost:9200/ubuntupit/hello/1' -H 'Content-Type: application /json' -d '{ "name" : " ubuntupit " }'
要通过 Elasticsearch 提取字符串数据,请在系统的终端 shell 上运行以下命令。
curl -X GET 'https://localhost:9200/ubuntupit/hello/1'
最后的话
Elasticsearch 是用于生成您自己的搜索引擎的流行工具。 您会知道大型电子商务巨头亚马逊在其产品店面搜索中使用 Elasticsearch。 在整篇文章中,我描述了如何在 Elasticsearch 上安装、配置和运行您的第一个查询。 您还可以运行布尔查询,通过 Elasticseach 获得分页数据表,并使用 UI 工具,例如 木花 将 Elasticsearch 与现有数据库一起使用。
如果您觉得这篇文章有用且方便,请与您的朋友和 Linux 社区分享。 您也可以在评论部分写下您对这篇文章的看法。