工程

Elastic App Search 网络爬虫简介

我们非常高兴地宣布在 Elastic Enterprise Search 7.11 中发布 Elastic App Search 网络爬虫公测版,这是一款简单而又功能强大的程序,可采集公开发布的网络内容,让您能够迅速从您的网站上搜索这些内容。

让网站上的内容可搜索有多种方法。Elastic App Search 已经允许用户通过上传或粘贴 JSON 以及通过 API 终端来采集内容。此版本引入的公测版网络爬虫为用户提供了另一种采集内容的快捷方法。

此网络爬虫在自管型部署和 Elastic Cloud 部署可用,能从公共网站中检索信息,让您可从 App Search 引擎中搜索这些内容。App Search 会在后台为您完成浩繁的复杂工作,为可搜索的内容建立相关性,让您通过滑块就能轻松进行调整,而无需使用代码。 

现在,我们来深入了解将此网络爬虫引入 App Search 的原因

此款网络爬虫有何不同? 

简而言之:焦点在于 Elastic Cloud。 

如果这些年您关注着 Elastic Enterprise Search(我们爱我们的粉丝团),您会记得 Elastic Site Search 推出过(现在仍提供)此网络爬虫。不过,广受欢迎的 Elastic Cloud 只支持 Elastic App Search 和 Workplace Search 。 

您可能会问,“对,然后呢?” 

我们对网络爬虫进行了完全的重新设计和构造,将它迁移到 Elastic Cloud 上的 App Search 具有多个引人注目的好处:

  • 省心省力,优势众多:作为 Elasticsearch 和 Kibana 的托管服务,Elastic Cloud 在运行速度、扩展性和相关性方面表现出色,这些是 Elastic 的独特优势。可一键升级、轻松扩展以及支持索引生命周期管理 (ILM),而这些只是客户青睐 Elastic Cloud 的部分原因。如果您已在使用 Elastic 可观测性或 Elastic 安全,则可以通过一个功能强大的控制台管理整个部署。
  • 按需选择数据:Elastic Cloud 在全球 40 多个区域得到全球主要云服务提供商的支持:Google Cloud (GCP)、Microsoft Azure 和 Amazon Web Services (AWS)。以个性化方式选择数据和云。
  • 定价:Elastic 采用按资源使用量定价的新型模式,您无需担心难以理解用户数、查询数、文档大小或部署的代理等晦涩指标。您只需考虑用于存储、搜索和分析数据的硬件资源成本即可,而不必考虑用例。

尽管本博文重点介绍云部署,但您也须了解,现在可通过自管型部署方式获取 App Search 网络爬虫,但此方法不适用于 Elastic Site Search(或 Swiftype)。

这款网络爬虫具体爬取哪些内容?

在深入介绍如何设置此网络爬虫前,我们先了解该网络爬虫在指定公共网站上会爬取哪些内容。

当您提供 URL(如 http://www.elastic.co)时,此网络爬虫会访问相应网页。在相应的网页中,此网络爬虫会跟踪从中发现的每个新链接,并提取内容以将内容采集到 App Search 引擎。此过程称为内容发现。它会采用相似方式爬取发现的每个链接。下方的树形图从概括说明了此工作原理。

App Search 网络爬虫 - 爬取由有链接关系的网页组成的“树”

在上图中,此网络爬虫爬取了所有蓝色网页并为其编制了索引。不过,这些网页都未链接到粉色网页,因此此网络爬虫不会爬取后者,也不会为其编制索引。必须直接将非互连的网页作为入口点提供,或将其包含在站点地图中,这样此网络爬虫才能访问该网页。我们将在本博文的后续部分中介绍如何设置入口点。

提取的内容类型

此网络爬虫的公测版可以从 HTML 页面中提取以下内容:

  • 页面标题
  • 描述(元数据)
  • 关键字 (meta)
  • 正文(进行标准化,并去除 html 标记)
  • 标准 URL
  • 其他 URL(针对同一个文档)
  • 链接

实际演练:开始使用此网络爬虫

我们将从头开始,在 Elastic Cloud 上创建一个新的 Elastic Enterprise Search 部署。如果是 Elastic Site Search 现有客户、Swiftype 客户或 Elastic Cloud 新客户,请务必报名参加 14 天的免费试用活动,以便体验此款网络爬虫的奥妙。

  • www.elastic.co 网页的右上角,选择“登录”。
  • 系统会提供几种单点登录方式。您也可以创建一个新帐户。
  • 登录后,选择“创建部署”。
  • 选择 Elastic Enterprise Search 部署模板。此模板在 CPU 输出、存储和可用性区域方面进行了优化。创建部署后,可根据特定需求调整每个部署模板。
  • 从列表中选择云提供商。现提供三种方案供您选择:Google Cloud (GCP)、Microsoft Azure 或 Amazon Web Services (AWS)
  • 为部署命名,然后单击“创建部署”。
  • 您将看到一个通知屏幕,其中显示您已创建部署。 

恭喜!您已在创建您的第一个 App Search 引擎。

Elastic Enterprise Search 解决方案包括两种应用程序:App Search 和 Workplace Search。在本教程中,要选择“启动 App Search”按钮。

Elastic Enterprise Search 新部署的欢迎屏幕

非常棒!现在您已打开 App Search,可继续创建网络爬虫。

您可通过入门流程创建您的首个搜索引擎。只需为您的引擎命名(可使用“我的搜索引擎”之类的名称),然后您将看到一个屏幕,其中提供了四种采集数据的方法:粘贴 JSON、上传 JSON 文件、通过 API 编制索引或使用此网络爬虫。现在您知道要选择哪种方法了。

此时,您可以选择添加自己的网站作为要爬取的域 URL,也可选择 Elastic.co 来增加乐趣。记住,您在其中提供了要提取的内容的 URL 时,此网络爬虫才会访问指定的网页。它会从该网页中跟踪所发现的网页中的每个新链接,直到此网络爬虫无法继续访问。

这时入口点功能会派上用场。如果有一个独立的页面未与其他页面链接,只需将其完整 URL 添加为入口点。此网络爬虫将从入口点开始为相应内容编制索引,并继续查找新链接以提取其中的内容,直至它无法继续访问为止。

您可以从同一个控制台页面创建爬取规则。借助这些规则,管理员可将其 URL 匹配规则的网页包括在内或排除在外。例如,您的营销部门可能使用带有路径模式 /lp 标识的营销活动登陆页。这些登陆页非常适合通过目标内容发展新业务,但可能不是您希望搜索引擎包含的内容类型。 

可在爬网规则部分添加新策略,从而不允许为包含 /lp 的任何 URL 中的内容编制索引。  

激动人心的时刻到了!现在可爬取内容了。添加所有入口点并创建所有爬取规则后,选择开始爬取按钮。 

单击“文档”选项卡,观察将内容采集到 App Search 引擎的过程。也可以单击屏幕右上方的“查询测试器”图标,这样就可从 App Search UI 中的任意位置开始搜索引擎。

如果想要立刻在搜索框中检测结果,可选择“引用 UI”选项卡。其中提供了基于 React 的搜索框,即点即用。不过,最好还是使用 Elastic Search UI JavaScript 库生成自己的搜索体验,并进行个性化设置。

现在轮到您动手了

我们相信,您会喜欢这款简单而又功能强大的网络爬虫设计。因此接下来轮到您亲自体验了!

目前 Elastic App Cloud 网络爬虫提供公测版,您可通过所有订阅级别获取它,并且自管型部署和 Elastic Cloud 部署均提供此版本。现有 Elastic Cloud 客户能够直接从 Elastic Cloud 控制台访问 Enterprise Search。 

刚接触 Elastic Cloud?请查看快速入门指南 — 您可以通过这些培训短视频快速入门,然后开始免费试用 Elastic Enterprise Search 14 天。也可以免费下载 App Search 和 Workplace Search 的自管型版本。

资源:

博文:Elastic Enterprise Search 新功能:网络爬虫以及将 Box 作为内容源

文档:App Search 网络爬虫

开始使用:Elastic Cloud:开始免费试用 14 天