Elastic Search 8.12:让 Lucene 更快,让开发人员更快

作者:来自 Elastic Serena Chou, Aditya Tripathi

Elastic Search 8.12 包含新的创新,可供开发人员直观地利用人工智能和机器学习模型,通过闪电般的快速性能和增强的相关性来提升搜索体验。 此版本的 Elastic® 基于 Apache Lucene 9.9(有史以来最快的 Lucene 版本)构建,并更新了一些我们最流行的集成(integrations),例如 Amazon S3、MongoDB、MySQL 等。 我们的 inference API 抽象了单个 API 调用背后嵌入管理的复杂性,并且 kNN 现在已提升为查询 (query) 类型。

与使用旧版本 Elastic 构建的搜索体验相比,通过简单升级,客户可以获得令人难以置信的速度提升,并且开发人员将拥有更有效的工具来定制搜索体验,并且代码更简洁,更易于维护。

Elastic Search 8.12 现已在 Elastic Cloud 上推出,这是唯一包含最新版本中所有新功能的托管 Elasticsearch® 产品。 你还可以下载 Elastic Stack 和我们的云编排产品 Elastic Cloud Enterprise 和 Elastic Cloud for Kubernetes,以获得自我管理的体验。

Elastic 8.12 中还有哪些新功能? 查看 8.12 公告帖子了解更多>>

站在巨人的肩膀上 Lucene 9.9

Apache Lucene 9.9 是有史以来最快的 Lucene 版本,我们很高兴能够根据客户的需求贡献关键创新。 通过 Elastic 投资于所选的行业技术,最先进的搜索体验(无论是基于 BM25、向量搜索、语义搜索还是上述所有搜索的混合组合)对于用户来说只是一次升级。 Elastic 用户首先受益,并且可以放心,这些创新是在考虑到他们的环境的情况下构建的。

所有搜索用户都将受益于对标量量化、搜索并发性(默认启用)的支持以及融合乘加 (FMA) 和 block-max MAXSCORE 工作带来的大幅加速。

借助 8.12,客户可以以适合自己的价格体验这些功能,并通过使用 Elastic Cloud 体验最佳的 TCO (total cost of ownership)。 对于 AWS 云用户,现在有一个向量搜索优化的硬件配置文件,可使用 Elastic 平台来加速和提升所有用例的搜索体验。

_inference:在单个 API 调用后面的嵌入管理

今年早些时候,我们推出了 Elasticsearch 相关性引擎,这是几年研发的成果。 这些功能的核心部分始终是灵活的第三方模型管理,使客户能够利用当今市场上下载最多的向量数据库及其选择的转换器模型。

我们通过更新_inference(一个顶级 API 端点,将嵌入管理的复杂性抽象为单个请求)来支持与供应商无关的模型访问,从而不断改进开发人员体验。

想要一键部署我们相关性领先的 Elastic Learned Sparse EncodeR 模型并开始使用它进行推理?

POST _inference/sparse_embedding/my-elser-model
{"input": "Semantic search is within reach."
}

比如,我们可以使用如下的命令来创建一个 inference API:

PUT _inference/sparse_embedding/.elser_model_2
{"service": "elser","service_settings": {"num_allocations": 1,"num_threads": 1},"task_settings": {}
}

我们可以通过如下的方法来进行推理:

POST _inference/sparse_embedding/.elser_model_2
{"input": "Semantic search is within reach."
}

可以在 Elastic 平台内管理 E5 等第三方多语言模型,或者通过相同的简单 _inference API 调用部署在 Hugging Face Inference Endpoints 上时可以轻松访问它们。

PUT _inference/text_embedding/my_test_service
{"service": "hugging_face","service_settings": {"url": "<url>","api_key": "<api key>"}
}

比如,在我的电脑上,我使用如下的命令来创建一个叫做 test 的 model id:

PUT _inference/text_embedding/test
{"service": "openai","service_settings": {"api_key": "YourOpenAiKey"},"task_settings": {"model": "text-embedding-ada-002"}
}

我们可以使用如下的方式来获得 embeddings:

POST _inference/text_embedding/test
{"input": "Semantic search is within reach."
}

在上面它返回 1536 维的向量。

同样,我们也可以针对 hunggingface 来做同样的事:

PUT _inference/text_embedding/hugging-face-embeddings
{"service": "hugging_face","service_settings": {"api_key": "<access_token>", "url": "<url_endpoint>" }
}

在 Hugging Face 端点页面上创建新的推理端点以获取端点 URL。 选择要在新端点创建页面上使用的模型 - 例如 intfloat/e5-small-v2 - 然后选择高级配置部分下的句子嵌入任务。 创建端点。 端点初始化完成后复制 URL。

在 Elastic Search 8.12 中,只需简单下载或单击按钮即可快速完成使用 Elastic 平台管理 E5 模型的操作。 选择在 Elastic 中管理此模型使用户能够从特定于平台的优化中受益,从而获得更好的搜索体验性能。

_inference 也与 OpenAI 原生集成,因此使用像 text-embedding-ada-002 这样的模型可以简单如下:

PUT _inference/text_embedding/test
{"service": "openai","service_settings": {"api_key": <api key>,"organization_id": <org id>},"task_settings": {"model": "text-embedding-ada-002"}
}

使用 kNN 搜索的开发人员会很高兴得知 kNN 现在可以作为另一种查询类型。 这使得可以使用其他平台功能,例如通过 kNN 搜索固定查询。 我们将其与添加到 Profile API 中的其他统计数据配对,以便更好地调试 kNN 搜索 - 进行了一些更改,从而形成了一套非常强大的工具,可以将向量搜索添加到您今天的应用程序中。 请参阅 8.12 平台发布博客了解更多详细信息。

更多原生连接器现已正式发布,而且它们的功能甚至更多

检索增强生成 (RAG) 实施凭借结构良好、优化的数据而蓬勃发展。 通过我们的 Elastic 集成目录,最好使用本机连接器来为这些类型的搜索体验构建正确的上下文。

原生连接器是托管在 Elastic Cloud 中的 Elastic 集成,只需要一些输入即可配置集成。 对于希望以自我管理方式同步内容的开发人员来说,所有本机连接器都可以使用 Docker 部署的连接器客户端,并使用新的 _connector API 进行管理。

在 8.12 中,我们启用了 Amazon S3、Google Cloud Storage、Salesforce 和 Oracle 连接器的原生使用,并且以下连接器已普遍可用:

  • Azure Blob 存储
  • 谷歌云存储
  • 亚马逊 S3
  • MongoDB
  • MySQL
  • Postgres
  • SQL 数据库

添加了对连接器的其他改进,例如对 Dropbox、GitHub 连接器的文档级安全支持以及对 Amazon S3 连接器的高级同步规则支持。

使用 Elastic 集成时,所有摄取的数据都可以快速转换或分块,以利用 _inference 提供的所有令人难以置信的 8.12 机器学习功能以及 Lucene 9.9 引入的创新。

试试看

请阅读发行说明中了解这些功能以及更多信息。 在 Search Labs 中查找代码参考、笔记本和最新研究。

现有 Elastic Cloud 客户可以直接从 Elastic Cloud 控制台访问其中许多功能。 没有利用云上的 Elastic? 开始免费试用。

本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

原文:Elastic Search 8.12: Making Lucene fast and developers faster | Elastic Blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

re:从0开始的HTML学习之路 2. HTML的标准结构说明

1. <DOCTYPE html> 文档声明&#xff0c;用于告诉浏览器&#xff0c;当前HTML文档采用的是什么版本。 必须写在当前HTML文档的首行&#xff08;可执行代码的首行&#xff09; HTML4的此标签与HTML5不同。 2. <html lang“en”> 根标签&#xff0c;整个HTML文档中…

如何本地部署虚VideoReTalking

环境&#xff1a; Win10专业版 VideoReTalking 问题描述&#xff1a; 如何本地部署虚VideoReTalking 解决方案&#xff1a; VideoReTalking是一个强大的开源AI对嘴型工具&#xff0c;它是我目前使用过的AI对嘴型工具中效果最好的一个&#xff01;它是由西安电子科技大学、…

数据结构学习1 初识泛型

装箱和拆箱 装箱/装包: 把一个基本数据类型转变为包装类型 拆箱/拆包: 把一个包装类型转变为一个基本数据类型 int a 1;Integer i a;// 自动装箱int b i;// 自动拆箱Integer ii Integer.valueOf(a);// 手动装箱&#xff0c;推荐使用 Integer.valueOf() 而不是 new Integer(…

安卓之导致ANR的原因分析,问题定位以及解决方案

一、引言 在Android应用开发中&#xff0c;Application Not Responding&#xff08;ANR&#xff09;是一种常见的性能问题&#xff0c;它直接关系到用户体验的质量。当应用在特定时间段内无法及时响应用户的交互或者系统事件时&#xff0c;系统将会抛出ANR错误&#xff0c;提示…

本地读取Excel文件并进行数据压缩传递到服务器

在项目开发过程中&#xff0c;读取excel文件&#xff0c;可能存在几百或几百万条数据内容&#xff0c;那么对于大型文件来说&#xff0c;我们应该如何思考对于大型文件的读取操作以及性能的注意事项。 类库&#xff1a;Papa Parse - Powerful CSV Parser for JavaScript 第一步…

html中,元素width和height的单位px、cm、mm、in、pc、pt、ch、em、rem、vh、vw、vmin、vmax的含义

在 HTML 中&#xff0c;元素的 width 和 height 属性可以使用多种单位来表示尺寸。下面是这些单位的含义&#xff1a; 像素&#xff08;px&#xff09;&#xff1a;像素是最常见的单位&#xff0c;表示固定的像素值。例如&#xff0c;width: 200px; 表示元素的宽度为 200 像素。…

springboot116基于java的教学辅助平台

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的基于java的教学辅助平台 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四…

要编译 Qt 的 .pro 工程,可以使用 qmake 和 make 工具

要编译 Qt 的 .pro 工程&#xff0c;可以使用 qmake 和 make 工具。下面是一个基本的 Makefile 示例&#xff0c;用于编译 Qt 的 .pro 工程&#xff1a; # 指定编译器 CXX g # 指定 qmake 命令的路径 QMAKE qmake# 指定目标文件名和可执行文件名 TARGET myapp# 定义源代码文…

R语言入门——多变量移除

目录 0、引言1、单变量删除的例子2、多变量移除2.1 ls的用法 2.2多变量删除 0、引言 有很多小伙伴在运行程序的时候就想在每次循环结束时提出一些占用内存大且无用的数据或变量&#xff0c;或者仅仅保留一些数据&#xff0c;但是rm的语法在删除多变量时候需要和ls()函数联用。…

Java中的深拷贝与浅拷贝

深拷贝与浅拷贝 深拷贝和浅拷贝是编程中常用的两种对象复制方式&#xff0c;它们在复制对象时处理对象内部引用的方式上有所不同。 浅拷贝 浅拷贝&#xff08;Shallow Copy&#xff09;只复制对象的顶层结构&#xff0c;而不复制对象内部的引用对象。换句话说&#xff0c;浅…

基于光口的以太网 udp 回环实验

文章目录 前言一、系统框架整体设计二、系统工程及 IP 创建三、UDP回环模块修改说明四、接口讲解五、顶层模块设计六、下载验证前言 本章实验我们通过网络调试助手发送数据给 FPGA,FPGA通过光口接收数据并将数据使用 UDP 协议发送给电脑。 提示:任何文章不要过度深思!万事万…

从白子画到东方青苍,你选择谁来守护你的修仙之旅?

从白子画到东方青苍,你选择谁来守护你的修仙之旅? 在繁花似锦的修仙世界中&#xff0c;每一位追梦者都渴望有那么一位守护者&#xff0c;与你共患难&#xff0c;共成长。热血与浪漫交织的《花千骨》与《苍兰诀》&#xff0c;给我们带来了两位风华绝代的守护者&#xff1a;白子…

磁盘初始化会丢失文件吗?答案揭晓!

“由于我的电脑出现了一些问题&#xff0c;我就将磁盘初始化了&#xff0c;但是里面还有很重要的文件&#xff0c;磁盘初始化了文件会丢失吗&#xff1f;有什么方法可以恢复丢失的文件呢&#xff1f;” 当我们谈论磁盘初始化&#xff0c;通常是指对硬盘或固态驱动器&#xff08…

解决执行npm(或pnpm)时报:证书过期 certificate has expired问题

项目执行 pnpm install 初始化时报 reason: certificate has expired 错误。 解决方案 1、取消ssl验证&#xff1a;npm config set strict-ssl false这个方法一般就可以解决了。2、更换npm镜像源&#xff1a;npm config set registry http://registry.cnpmjs.org npm config …

第13节-简历中的开放性问题

(点击即可收听) 不少公司的开放式题目每年不会有太大的变化&#xff0c;所以在答题前可先去相关求职论坛看看这些公司往年的问题&#xff0c;分析和思考自己应当怎么回答 开放式问题回答技巧 开放式问题主要考察的是求职者的求职动机、解决问题的能力、创造力等软实力&#xff…

initdb: command not found【PostgreSQL】

如果您遇到 “initdb: command not found” 错误&#xff0c;说明 initdb 命令未找到&#xff0c;该命令用于初始化新的 PostgreSQL 数据库群集。这通常是因为 PostgreSQL 相关的工具未正确安装或者安装路径不在系统的 PATH 变量中。 以下是解决这个问题的一些建议&#xff1a…

linux|操作系统|centos7物理机安装网卡驱动8188gu(内核升级,firmware固件,USB设备管理,module管理)

前言&#xff1a; 目前服务器领域centos7基本是主流的操作系统&#xff0c;而linux相对于Windows来说&#xff0c;软硬件方面的支持是差很多的&#xff0c;在硬件方面来说&#xff0c;以一个免驱的网卡为例&#xff0c;window xp可能不会自动识别到&#xff0c;但Windows10基本…

wikijs在启动项目时遇到的问题

问题 使用PostgreSQL安装wikijs过程中&#xff0c;启动项目运行node server时&#xff0c;会报错如下&#xff1a; error: Database Initialization Error: create table "migrations" ("id" serial primary key, "name" varchar(255), "b…

JUC并发编程与源码分析学习笔记(二)

二十九、多线程锁之线程锁知识概述 说说Java“锁”事 从轻松的乐观锁和悲观锁开讲 通过8种情况演示锁运行案例&#xff0c;看看我们到底锁的是什么 公平锁和非公平锁 可重入锁&#xff08;又名递归锁&#xff09; 死锁及排查 写锁&#xff08;独占锁&#xff09;/读锁&a…

Java中创建List接口、ArrayList类和LinkedList类的常用方法(一)

List接口 要了解List接口&#xff0c;就不得不说起Java的集合框架。 &#xff08;该图来自菜鸟教程&#xff09; Collection接口和Map接口 Java 集合框架主要包括两种类型的容器&#xff0c;集合Collection和图Map。 Collection接口代表了单列集合&#xff0c;它包含了一组…