迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MongoDB >

在 Windows 和 Ubuntu 上安装和使用 Elasticsearch 和 MongoDB

作者:迹忆客 最近更新:2023/03/17 浏览次数:

本文是 Elasticsearch 在 Windows 和 Ubuntu 20.04 上的分步安装和配置指南。它还演示了将 Elasticsearch 与 MongoDB 一起用于两种操作系统的情况。

什么是 Elasticsearch

Elasticsearch 是一个 NoSQL 数据库,一个旨在存储日志的开源实时分布式和分析引擎。Elasticsearch 是在 Java 编程和 Apache Lucene 之上开发的。

许多知名公司,包括 LinkedIn 和 OpenStack,都在使用它。它支持基于文档而不是模式和表的全文搜索。

它还用于数据迁移、索引和同步。当应用程序需要太多的搜索操作和过滤器时,Elasticsearch 是最佳选择。

在 Windows 10 上安装 Elasticsearch

第 1 步:检查是否安装了 Java

要在 Windows 10 上安装 Elasticsearch,我们必须在我们的机器上安装最新版本的 Java。你还可以使用以下任何命令来确认你的机器上已经安装了 Java。

请记住,如果我们要安装 Elasticsearch,我们必须拥有 Java 版本 7 或更高版本。

在 windows 和 ubuntu 上安装和使用 elasticsearch - 检查 windows 上的 java 版本

第 2 步:下载 Elasticsearch .zip 文件

转到此网站并单击以下屏幕截图中的下载链接。接下来,选择我们要使用 Elasticsearch 的平台,然后下载 .zip 文件。

在 windows 和 ubuntu 上安装和使用 elasticsearch - 在 windows 上下载 elasticsearch

第 3 步:运行 Elasticsearch 批处理文件

一旦我们下载了 .zip 文件,将其解压缩到你想要的位置。然后,导航到 bin 文件夹并双击 elasticsearch 批处理文件。

在 windows 和 ubuntu 上安装和使用 elasticsearch 和 mongodb - 在 windows 上运行 elasticsearch

它只不过是一个标准的 Windows 批处理文件,其中包含在幕后执行的步骤。此外,它有助于在你的机器上启动 Elasticsearch 守护程序,如下所示。

保持打开状态并按照以下步骤操作。

在 windows 和 ubuntu 上安装和使用 elasticsearch - windows 上的 elasticsearch 守护进程

第 4 步:禁用身份验证(仅用于学习目的)

默认情况下,身份验证是启用的,这意味着我们必须输入登录凭据。你可以使用默认登录凭据,也可以按照 这个 页面更改它们。

对于本文,我们将禁用身份验证(仅用于学习目的,但建议在生产环境中使用)。我们使用记事本打开可以位于%ES_HOME%\config\elasticsearch.yml 路径的 elasticsearch.yml 文件。

在这里,ES_HOME 是你的 Elasticsearch 主目录。例如,在我们的例子中,elasticsearch.yml 可以位于 C:\Users\DelftStack\Desktop\elasticsearch-8.2.2-windows-x86_64\elasticsearch-8.2.2\config

打开 elasticsearch.yml 文件后,搜索 xpack.security.enabled 选项并将其值设为 false,如下面的屏幕截图所示。

在 windows 和 ubuntu 上安装和使用 elasticsearch - 在 windows 上禁用弹性搜索身份验证

停止 Elasticsearch 并通过运行 elasticsearch.bat 文件重新开始。

第 5 步:在浏览器上运行 Elasticsearch

在你喜欢的浏览器上输入 http://localhost:9200。如果你看到类似于以下屏幕截图的页面,则说明 Elasticsearch 已成功启动并运行。

在 windows 和 ubuntu 上安装和使用 elasticsearch - elasticsearch 在 windows 上启动并运行

在 Ubuntu 20.04 上安装 Elasticsearch

第 1 步:安装所需的依赖项

更新/升级包索引:

sudo apt update
sudo apt upgrade

与 Windows 操作系统一样,Ubuntu 上也需要 Java 来安装 Elasticsearch。如果尚未安装,请在 Ubuntu 20.04 上执行以下命令安装默认 JDK。

sudo apt install openjdk-8-jdk

安装后,使用 java -version 检查它是否存在。

在 windows 和 ubuntu 上安装和使用 elasticsearch - 检查 ubuntu 上的 java 版本

我们还需要安装一个 APT Transport 包,以便通过 HTTPS 访问我们所有的存储库。

sudo apt install apt-transport-https

在 windows 和 ubuntu 上安装和使用 elasticsearch - 在 ubuntu 上安装 apt transport

第 2 步:在 Ubuntu 上下载并安装 Elasticsearch

下一项工作是添加 Elasticsearch 存储库。使用 wget 查询来提取公钥。

如果一切顺利,你必须将 OK 作为输出。

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

在 windows 和 ubuntu 上安装和使用 elasticsearch 和 mongodb - 在 ubuntu 上添加 elasticsearch 存储库

现在,通过执行以下命令将存储库添加到系统。我们在以下命令中编写 8.x,因为这是编写本教程时的最新版本。

echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list

再次,使用下面给出的命令更新包索引。

sudo apt update

通过执行以下命令安装 Elasticsearch。安装可能需要一些时间。

所以,让它成功完成。

sudo apt install elasticsearch

在 windows 和 ubuntu 上安装和使用 elasticsearch - 在 ubuntu 上安装 elasticsearch

安装后,我们必须启动 Elasticsearch,因为它不会自行启动。如果我们重新启动机器,我们还需要重新运行 Elasticsearch。

为避免这种情况,请执行以下命令在系统重启后自动重新加载 Elasticsearch。

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

现在,使用以下命令检查 Elasticsearch 的状态。

sudo systemctl status elasticsearch

在 windows 和 ubuntu 上安装和使用 elasticsearch - ubuntu 上的 elasticsearch 状态

第 3 步:配置 Elasticsearch

默认情况下,Elasticsearch 已预先配置为基本使用。如果我们想在我们的设置中使用一个节点,我们不必对配置文件进行任何更改。

如果要编辑 Elasticsearch 配置,请编辑 /etc/elasticsearch 目录中的 elasticsearch.yml 文件。你还可以在 /var/log/elasticsearch/logging.yml 找到日志记录的配置。

我们正在编辑 elasticsearch.yml 文件以禁用本教程的身份验证。我们将 xpack.security.enabled 的值从 true 更改为 false

请记住,每当你编辑 elasticsearch.yml 文件时,请不要忘记使用以下命令重新启动服务。

sudo systemctl restart elasticsearch.service

接下来,使用以下命令检查 Elasticsearch 是否已启动并正在运行。

curl localhost:9200

在 Windows 和 ubuntu 上安装和使用 elasticsearch - elasticsearch 在 ubuntu 上启动并运行

我们也可以在浏览器上输入 http://localhost:9200,它应该显示与上面给出的 curl 命令相同的结果。

在 windows 和 ubuntu 上安装和使用 elasticsearch 和 mongodb - 在 ubuntu 上运行 elasticsearch

将 Elasticsearch 与 MongoDB 结合使用的主要原因

我们使用 MongoDB 来存储和查询数据,而 Elasticsearch 用于对数据进行全文索引。因此,两者的结合(用于索引的 Elasticsearch 和用于存储的 MongoDB)是许多公司遵循的常见架构之一。

Elasticsearch 是为搜索目的而开发的,它还提供了用于数据索引的高级功能。它与 KibanaLogstash 一起用于数据分析。

使用 Elasticsearch 的优点之一是它可以快速搜索指定文档中的所有字段。我们可以将其视为让我们的个人 Google 搜索我们的数据。

我们还可以在不同的场景中使用 Elasticsearch。例如,我们可以执行同步、构建搜索引擎、数据迁移、索引等等。

在本教程中,我们将学习将 Elasticsearch 与 MongoDB 一起用于同步目的。

使用 Elasticsearch 执行同步

我们必须按照下面给出的步骤在 Windows/Ubuntu 上使用 Elasticsearch 和 MongoDB 执行同步。在此之前,请确保你拥有所有依赖项。

例如,我们在此代码示例中使用 Node.js。此外,继续运行两个数据库引擎(MongoDB 和 Elasticsearch)。

之后,让我们按照步骤操作。

示例代码(将整个代码放在一个文件中,我们将它放在 app.js 文件中):

//Step 1:
const mongoose     = require('mongoose');
const mongoosastic = require('mongoosastic');

//Step 2:
mongoose.connect('mongodb://localhost:27017/studentdb');

//Step 3:
var StudentSchema = new mongoose.Schema({
      firstname: String,
      lastname: String,
      city: String
});

//Step 4:
StudentSchema.plugin(mongoosastic, {
    "host": "localhost",
     "port": 9200
});

//Step 5:
var Student = mongoose.model('student', StudentSchema);
  Student.createMapping((err, mapping) => {
    console.log('mapping created');
});

//Step 6:
var newStudent = new Student({
     firstname: 'Mehvish',
     lastname: 'Ashiq',
     city: 'Lahore'
});

newStudent.save((err) => {
     if(err) {
         console.log(err);
     }
     console.log('Student is added in both databases');
})

newStudent.on('es-indexed', (err, result) => {
    console.log('indexed to elastic search');
});

现在,运行这段代码;如下。

在 windows 和 ubuntu 上安装和使用 elasticsearch 和 mongodb - 运行文件

确认 MongoDB 中的条目如下。

在 windows 和 ubuntu 上安装和使用 elasticsearch 和 mongodb - 确认在 mongodb 中的条目

接下来,打开 http://localhost:9200/students/_search 以在 Elasticsearch 上进行确认。它看起来类似于以下屏幕截图。

在 windows 和 ubuntu 上安装和使用 elasticsearch 和 mongodb - 确认在 elasticsearch 中的条目

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

比较 MongoDB 中的字段

发布时间:2023/04/21 浏览次数:51 分类:MongoDB

在本文中,我们将了解如何比较 MongoDB 中的两个字段。 此外,我们将看到一个相关的示例和解释,以使主题更容易理解。

清除或删除 MongoDB 中的集合

发布时间:2023/04/21 浏览次数:147 分类:MongoDB

本篇文章将告诉大家如何删除 MongoDB 数据库中的集合以及删除 MongoDB 中的集合的不同方法。

MongoDB 截断集合

发布时间:2023/04/21 浏览次数:178 分类:MongoDB

可以根据需要选择两个选项之一来截断下面的集合。 在今天的文章中,我们将学习如何在 MongoDB 中截断集合。

删除 MongoDB 中的重复项

发布时间:2023/04/21 浏览次数:151 分类:MongoDB

在本文中,我们将了解如何删除 MongoDB 中的重复条目,并且我们还将看到一个带有适当解释的示例,以使主题更容易理解。

使用 NodeJS 检查 MongoDB 中是否存在集合

发布时间:2023/04/21 浏览次数:194 分类:MongoDB

在本文中,我们将检查 MongoDB 数据库中是否存在一个集合,并且我们还将查看与主题相关的示例,以使主题更容易理解。 为此,我们将使用 Node.js。

MongoDB 中的唯一索引

发布时间:2023/04/21 浏览次数:144 分类:MongoDB

在这篇教学文章中,您将了解唯一索引、它们是什么以及如何在 MongoDB 中使索引唯一。 此外,还简要详细地解释了使用户的电子邮件在 MongoDB 中唯一。

在 MongoDB 中创建索引

发布时间:2023/04/21 浏览次数:104 分类:MongoDB

索引有助于有效解决查询。 如果没有索引,MongoDB 必须遍历集合中的每个文档才能找到与查询匹配的文档。因此,在今天的文章中,我们将学习如何在 MongoDB 中创建索引。

MongoDB 中的稀疏索引

发布时间:2023/04/21 浏览次数:142 分类:MongoDB

在本文中,我们将讨论 MongoDB 中的稀疏索引。 此外,我们将提供一个相关示例并进行解释,以使该主题更容易理解。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便