Elastic Search:向网站添加搜索功能

概述


装载数据

Elastic Search 快速入门

在这个快速入门系列(共 3 个视频)中,您将了解 Elastic Search:为您的应用和网站打造具有经过预先调优的相关性且自然流畅的现代风格搜索体验。看看完成设置、采集数据、探索搜索界面以及根据需求分析和调优搜索引擎的速度有多快。主题包括什么是 Elastic Search、将数据索引到 Elastic Search 中,以及分析和优化搜索。

创建 Elastic Cloud 帐户

开始为期 14 天的试用。访问 cloud.elastic.co 并创建帐户后,请跟随下面的步骤学习,了解如何在我们全球 50 多个支持区域中的任何一个启动您的第一个 Elastic Stack。

如果单击“Edit setting”(编辑设置),您可以选择云服务提供商,包括 Google Cloud、Microsoft Azure 或 AWS。选择云服务提供商后,就可以选择相关区域。接下来,您可以在几个不同的硬件配置文件之间进行选择,以便更好地定制部署以满足您的需求。另外,最新版本的 Elastic 已经为您预先选择好了。

对于这个特定的用例,您将需要一个 4GB RAM 实例。要创建这个实例,请选择“Advanced settings”(高级设置),然后滚动到底部的企业搜索实例,并选择下拉菜单,以便在创建部署之前将“Size per zone”(每个区域的大小)增加到 4GB RAM。完成这些操作后,您可以选择“Create deployment”(创建部署)。

在创建部署时,系统将为您提供用户名和密码。请务必复制或下载此信息,因为在安装集成时将需要用到它。

使用 Elastic 网络爬虫采集数据

现在您已经创建了自己的部署,接下来就可以将数据采集到 Elastic 中了。我们可以使用 Elastic 的网络爬虫来进行数据采集。首先,您需要选择磁贴:Add search to my website(向我的网站添加搜索)。

接下来,在出现的飞轮上选择 Start(开始)。

如要设置 Web crawler(网络爬虫),请查看这个介绍视频,也可以按照下面的说明操作:

现在创建一个索引。在本指南中,我将会采集整个 elastic.co 上面的博客文章。

为您的索引命名完毕后,选择 Create index(创建索引)。接下来,您需要 Validate Domain(验证域),然后再 Add domain(添加域)。

在右下角添加完域之后,您需要选择 Edit(编辑),以便您可以在需要时添加子域。

然后您需要选择 Crawl rules(爬取规则)并添加您的爬取规则,如下面所示。*

*由于有一些网页会链接到您想要爬取的网页上,所以您应该添加更多规则,以禁用这些链接以及所有任何其他链接。

使用 Elasticsearch 关联您的数据库

您的另外一个选项是从您的数据库添加内容。如要这么做,请选择 Use a connector(使用连接器)这种采集方法。

接下来,您将选择 MongoDB,并在 MongoDB 连接器的配置中输入在上文中收集的信息。请务必将“Direct connection”(直接连接)设置为“false”,除非有理由强制对特定的命名主机进行读取(详细信息请参阅 MongoDB 连接指南)。

输入信息后,选择 Scheduling(计划)选项卡,为用例设置您喜欢的数据库同步计划。配置完计划选项后,单击“Sync”(同步)完成这个过程。


使用 Elasticsearch

借助向量搜索来打造搜索体验

您正在考虑将向量搜索加入到您的搜索体验中吗?Elastic 有两种形式的向量搜索:“密集”(又叫做 kNN 向量搜索)和“稀疏”,例如 Elastic 的 Learned Sparse Encoder (ELSER)。

稀疏向量搜索是入门时比较简单的选择。Elastic 针对语义搜索推出了开箱即用型模型:Learned Sparse Encoder 模型。该模型在处理各种数据集(例如财务数据、天气记录、问题解答,等等)时都表现十分出众。此模型的构建宗旨是跨域提供卓越的相关性,而无需额外的微调。

请查看这一交互式演示,了解为什么说 Elastic 的 Learned Sparse Encoder 模型相较于 Elastic 的文本 BM25 算法具有更高的相关性。

不仅如此,Elastic 还支持 kNN 向量,让您能够针对文本之外的非结构化数据(例如视频、图像和音频)实施相似度搜索。

语义搜索和向量搜索的优势是这些技术允许客户在其搜索查询中使用直观的语言。例如,如果您想搜索有关第二收入的工作单位指南,您可以搜索“副业”,尽管您在正式的 HR 文档中不太可能会见到“副业”这个词。

要想使用向量搜索来开始打造语义搜索体验,请查看这个分步指南


后续步骤

感谢您花时间通过 Elastic Cloud 将您的数据库关联到 Elasticsearch。当您开始使用 Elastic 时,您需要了解在整个环境中部署时作为用户应管理的一些操作、安全性和数据组件