ES 探索

Elasticsearch 是一种在浏览器上运行的数据库工具,用于查询书面文字。它在其核心执行一些其他任务。它旨在遍历文本并返回与给定查询相同的文本。 Elasticsearch 是一个可扩展且支持集群的数据库工具。

更具体地说,它是一个数据库服务器,它是用 Java 编写的。它从用户那里获取数据并将其存储为文档形式。 Elasticsearch 允许我们对存储在其中的数据执行各种类型的搜索,例如-通过描述搜索任何数据库,搜索帖子

Elasticsearch Exploring Elasticsearch Exploring

以下是elasticsearch的一些要点:

  • Elasticsearch、NoSQL 数据库基于 Apache Lucene 搜索引擎。
  • 使用 elasticsearch 非常方便,因为它的主要协议是用 JSON/HTTP 实现的。
  • Elasticsearch 在存储数据和对数据执行操作方面值得称道。
  • 在处理用自然语言处理半结构化垃圾的任务时,它是一款出色的工具。

Elasticsearch 是 Lucene

Elasticsearch 主要基于另一个名为 Lucene 的软件项目。基本上,elasticsearch 基于 Lucene 搜索引擎。因此,它在elasticsearch中占有重要的地位。下面讨论一些要点以了解 Elasticsearch 是 Lucene 好多了:

  • 很容易将弹性搜索理解为围绕 Lucene 的 Java 库构建的基础设施。
  • Lucene 是一种非常流行、经过验证和测试的搜索引擎,被广泛使用。
  • Elasticsearch 本身为其用户提供了更简洁和可用的 API。它还在 Lucene 的实现之上提供可扩展性和操作工具。
  • 大量公司使用 Apache Lucene。
  • Lucene 被认为是开放搜索软件中的佼佼者。

增值

  • 众所周知,Lucene 是一个很好的工具,但另一方面,直接使用它很麻烦。
  • 与 Lucene Java API 相比,Elasticsearch 提供了简单直观的 API。
  • 它提供了一种基础架构,使跨数据中心和机器的扩展变得相对简单。
  • 以下是与 Lucene 相比,elasticsearch 带来的一些功能。 简单的 API
  • 集群和复制
  • 与非 Java 的互操作
  • 操作的易用性等

Elasticsearch 解决的问题

因为每个工具都有解决其他工具无法解决的问题的功能。同样,elasticsearch 也有一些功能可以解决这个问题。 Elasticsearch 在各种情况下都非常有用,解决了其他数据库搜索引擎中出现的许多问题。以下是 Elasticsearch 引擎非常适合的几个任务。

  • 使用特定短语或文本字符串(如厨师刀)搜索大量产品并返回最佳结果。
  • 根据前面搜索厨师刀的示例,它分解了几个部门并在出现的地方显示了各个部分。
  • 在搜索框中,自动完成功能解决了基于先前发布的搜索而部分键入单词的问题。
  • Elasticsearch 非常适合以分布式方式存储大量 JSON 数据(半结构化数据)。除此之外,它还指定了跨机器集群的数据的冗余级别。

Elasticsearch 非常适合解决上述这类问题。但是,对于其他一些问题,例如优化关系数据库(RDBMS),它不是最佳选择。下面讨论了其中一些问题:

  • 计算库存中剩余的物品数量不是一个好的选择。
  • 它不提供回滚支持,并且不能以事务方式执行两个操作。
  • 同时查找给定月份发出的所有发票上的所有行项目的总和。
  • 创建多个记录,保证在各种给定条件下都是唯一的。例如-手机号码

Elasticsearch 对于从数据中提供近似答案非常有用。例如,按质量对结果进行评分。它还可以执行匹配和统计计算。 RDBMS(关系数据库)等传统数据库提供精度和数据完整性,而Lucene和elasticsearch则有一些规定。

启动并运行

因为 Elasticsearch 是一个在搜索引擎上运行的数据库工具。它可以在几乎所有平台上安装和运行,如 windows、Linux 或 Mac 等。在前面的教程中,我们已经讨论了在 window 平台上进行 elasticsearch 的安装、使用和需要设置的工具。

现在,让我们简要讨论在其他一些平台上设置工具,如 windows、linux、Mac,我们可能需要使用 elasticsearch。以下是所有平台通用的基本步骤:

  • 首先,您需要安装 Java 并在所有平台上设置其路径。
  • 通过执行 java-version 命令,您可以验证 Java 是否已安装在您的系统上。
  • 之后,您可以通过执行elasticsearch批处理文件(.exe文件)安装通过命令行运行的elasticsearch应用系统。
  • 此批处理文件不提供交互式用户界面。因此,您需要为其添加或安装插件。

这些是安装elasticsearch的简单步骤。针对不同的平台分别有一些步骤:

Linux

  • 如果您使用的是 Linux 操作系统,我们建议您下载 .rpm 或 .deb 版本的 elasticsearch 数据库工具。
  • 下载成功后,将其解压缩以解压缩文件。
  • 解压文件后,可以运行elasticsearch的批处理文件(elasticsearch.bat),在后台以守护进程的方式启动服务器。

Mac 操作系统

  • 对于 Mac 操作系统,我们建议您下载 elasticsearch 工具的 zip 设置。
  • 下载后,将其解压缩到一个文件夹中。
  • Mac OS 有一个终端来运行类似于窗口命令提示符的命令。
  • 导航到bin目录并通过传递命令./elasticsearch在终端上运行elasticsearch的可执行文件。

Microsoft Window

对于Microsoft 窗口操作系统,我们已经在本教程的前一章详细讨论过。让我们大致了解一下。

  • 对于 windows 操作系统,请下载 elasticsearch 的 .zip 包并从中提取文件。
  • 运行 bin 文件夹中存在的 elasticsearch.bat(可执行文件)文件。
  • 运行elasticsearch可执行文件后,我们将检查服务器是否正在运行。

验证服务器正在运行

在您喜欢的操作系统上安装elasticsearch并执行批处理文件后,现在是时候验证服务器是否正在运行没有任何错误。因此,为此我们需要打开网络浏览器。

  • 打开任何网络浏览器,如 Chrome、IE 或 Mozilla Firefox。
  • 在浏览器的 URL 栏中输入 localhost:9200。
  • 如果您得到与下面截图相同的输出,则表示服务器运行成功,没有任何故障。

截图

Elasticsearch Exploring

加载数据集

  • Elasticsearch 提供了一些预定义的代码示例,这些示例依赖于要加载到您的 Elasticsearch 服务器中的基础数据集。
  • 此存储库始终在进行一些更改。所以,请随时更新。
  • 存储库克隆后,您可以通过提供 elasticsearch 服务器的地址、执行 elastic-loader.jar 程序和数据文件的路径将示例加载到服务器中。
  • 每当您需要加载像 movie_db 数据集这样的数据集时,打开导航到 ee-datasets 文件夹的命令提示符并运行。

运行示例

本章是关于elasticsearch最流行的API的独家使用,即JSON HTTP。我们在本教程中讨论和实现的所有示例都是对 HTTP 请求的独立描述。

  • 您可以自由使用任何与elasticsearch交互的插件。我们建议您使用 elasticsearch-head 插件,因为我们会在整个教程中对该插件执行所有查询。
  • elasticsearch-head 插件在 google 应用商店中作为扩展程序提供。您可以将其添加到浏览器中。它简单易用。
  • 还有一些其他工具或插件,例如 analysis-icu、Kibana 等等。这些工具也可以很好地与 elasticsearch 配合使用。
  • 我们学习了 HTTP 操作(GET、POST、DELETE、PUT、HEAD)、请求正文和 URL 路径。

本章是关于elasticsearch的探索。

下一章:ES 监控

Elasticsearch 提供监控功能来监控集群的健康状况。它负责从每个节点收集指标并将它们存储在 Elasticsearch 索引中。 Elasticsearch 在 config 文件夹中包含 elasticsearch. ...