Workplace Search 的演变:使用 Elasticsearch 搜索你的私人数据
作者:Dana Juratoni, Aditya Tripathi
Workplace Search 功能将来将与 Elastic Search 合并。 这是你需要了解的内容。
生成式人工智能技术的最新进展为搜索带来了一系列可能性。 随着开发人员构建新的体验,用户正在采用新的搜索使用方式 —— 从用自然语言编写的搜索查询到通过上传图像或语音样本进行搜索。 在 Elastic®,我们一直致力于确保 Elasticsearch® 拥有开发人员构建现代搜索所需的正确机器学习工具。
在我们继续这一旅程的过程中,我们希望分享有关工作场所(Workplace)搜索的一些进展:
- Elasticsearch 是推荐的工具,用于为未来的内部知识搜索用例构建搜索体验。
- 独立的 Workplace Search 产品将继续以其当前形式获得支持。 Elasticsearch 将添加新功能,Workplace Search 将获得安全升级和修复。
如果你正在使用独立的 Workplace Search 产品或有兴趣为工作场所搜索用例构建搜索体验,则此博客将为你提供重要信息。
历史背景
当 Swiftype 于 2017 年与 Elastic 联手时,独立的 Workplace Search 产品成为我们产品的一部分。从那时起,我们向 Workplace Search 的流行数据库、文件系统和其他工具添加了许多内容源。 虽然用户喜欢 Workplace Search 包含各种数据源的集成,但有明确的反馈表明,开发人员希望通过透明度和灵活性来调整搜索体验。 这些调优工具仅在直接使用 Elasticsearch 平台时才可用。
随着最近 ChatGPT 和生成式 AI 技术的流行,内部知识搜索用例(即能够搜索所有私人内容源 —— 数据库、知识库、文件系统、协作或票务工具)对我们的用户来说变得越来越重要。 毫无疑问,私人数据的搜索检索和 LLM 在一起效果更好。
Elasticsearch 连接器是未来
客户喜欢使用 Workplace Search 内容源
使用 Workplace Search 产品的客户喜欢通过内容源提取数据、在搜索体验中使用索引数据以及使用内置工具管理数据和搜索的简单性。 这些功能不会消失,而是会作为我们 Elastic Search 产品的一部分不断发展 —— 其中一些工作从早期的 8.x 版本开始。 内容源已被连接器 (connectors) 取代和提升为一种 Elastic 集成。 这些连接器直接写入搜索优化的 Elasticsearch 索引,而不是使用使用抽象隐藏索引 (以 . 为开始的系统索引)。 通过这样做,利用平台功能(例如与第三方 transformer 模型集成)来转换索引数据的能力变得直观且易于配置。 因此,设置搜索体验比以往更加灵活,并且 Elasticsearch 本机功能提供了多种数据和搜索管理方式。
Elastic 连接器的典型部署
内部知识搜索用例最常见的架构涉及通过原生连接器和/或自我管理连接器客户端将私有组织数据引入 Elastic。 然后,自我管理的搜索应用程序会公开最终授权用户通过搜索体验查看的数据。
两个选项:Elastic Cloud 上的原生连接器或自托管客户端
连接器可作为原生连接器直接在 Elastic Cloud 部署中使用,无需额外的基础设施。 如果你更喜欢自行托管原生连接器,则可以将它们用作连接器客户端,以便在你自己的基础设施上轻松部署和自我管理,无需进行开发。 为此,你可以选择从源运行连接器或通过 Docker 进行部署。 连接器客户端是开放代码的,可以进行定制以满足你的特定需求。 此外,你可以利用我们的连接器框架创建新的连接器客户端,与我们当前目录中可能未涵盖的数据源集成。
在我之前的文章中,有一个例子 “Enterprise:使用 MySQL connector 同步 MySQL 数据到 Elasticsearch”。
转换数据以支持你的搜索
同步内容被索引到常规搜索优化的 Elasticsearch 索引,这些索引可直接在你的搜索体验中使用。 默认情况下,连接器特定逻辑和捆绑的 ent-search-generic-ingestion 管道会按照部署中的配置提取和转换数据。 对于更高级的用例,可以使用以下工具过滤和转换数据:
- 基本同步规则,对于所有连接器都是相同的
- 用于数据源级别远程过滤的高级同步规则
- 适用于连接器客户端的自我管理提取服务
- 自定义管道过滤,然后通过摄取管道持久化到 Elasticsearch(请阅读搜索中的摄取管道以了解更多详细信息。)
- 摄取管道特别强大,因为它们为 ML 模型(例如 ELSER)以及通过连接器索引的任何私有数据提供了极其易于访问的集成点。
使用 Elastic Search 构建体验
一旦你在 Elasticsearch 中拥有数据,你就可以使用 Search UI 和 SearchKit 等前端组件项目构建自己的自定义搜索体验。 我们的内部知识搜索示例应用程序向你展示了如何使用现有工具开始使用。
Javascript 客户端库使你能够轻松构建搜索或将搜索集成到你的 Web 应用程序中,或使用众多 Elasticsearch 客户端库之一。
我们正在快速添加功能以使搜索更加强大。 使用 Elasticsearch 构建你的内部搜索系统,你可以在这些功能发布后立即使用它们。
- Elasticsearch 支持向量、语义、混合和生成式 AI 搜索用例。 查看我们的一些语义和向量搜索功能,包括强大的开箱即用的稀疏向量模型。 在 8.11 中,此模型已正式发布,只需单击几下即可将其应用于使用 Elastic 连接器或网络爬虫写入的数据。
- 借助基于搜索模板的完全可定制的搜索应用程序 API,如果你的用例需要的话,这个新 API 可以抽象化 Elasticsearch Query DSL 的学习曲线。 你可以随时使用 Query DSL 深入了解详细信息。
- 新的搜索管理工具可让你直接管理特定查询的结果,例如提升或隐藏结果,并以编程方式使用同义词管理 API。
Workplace Search 产品和 workplace search 用例
独立的 Workplace Search 产品将继续成为受支持的体验,因此虽然建议迁移到新功能,但这不是必需的。 任何希望提升内部知识搜索以包括语义搜索、向量搜索或基于聊天提示的体验的用户都将从过渡到使用 Elastic 连接器中受益。 在 Elastic Search 的支持下,企业中的工作场所搜索用例范围取得了许多引人注目的进步。 现在是考虑升级内部知识搜索的好时机,以使其为你的用户带来惊人的体验!
为你提供的资源
- 用于为你的内部知识源构建搜索体验的示例应用程序
- Elastic Search 和 Workplace Search 功能比较(请参阅我们文档中的表格)
- 新的! 搜索实验室在 GitHub 上有代码 notebooks、工程博客和示例项目。
- 你知道 Elasticsearch 是向量数据库超集吗?
本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。
在这篇博文中,我们可能使用或引用了第三方生成人工智能工具,这些工具由其各自所有者拥有和运营。 Elastic 对第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任,也不对你使用此类工具可能产生的任何损失或损害负责。 使用人工智能工具处理个人、敏感或机密信息时请务必谨慎。 你提交的任何数据都可能用于人工智能培训或其他目的。 无法保证你提供的信息将得到安全或保密。 在使用之前,你应该熟悉任何生成式人工智能工具的隐私惯例和使用条款。
Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 和相关标记是 Elasticsearch N.V. 在美国和其他国家/地区的商标、徽标或注册商标。 所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。
原文:https://github.com/elastic/elasticsearch-labs/tree/main/example-apps/internal-knowledge-search