作者:来自 Elastic Serena Chou, Ranjana Devaji
我们很高兴向 Elastic Cloud 和自托管用户发布 Elasticsearch 9.0 和 8.18 版本。这些版本中的功能已经向我们的 Elastic Cloud Serverless 用户提供,他们可以使用在 AWS、Azure 和 GCP 上提供的完全托管的 Elasticsearch。
更快的 BBQ(Better Binary Quantization)——比 OpenSearch 快 5 倍
BBQ(Better Binary Quantization)首次在 8.16 版本作为技术预览引入,现在已正式发布,提供了一种比传统量化技术(如乘积量化 PQ - product quantization)更高效的替代方案。
像 Roboflow 这样的客户存储和更新越来越多的(即数十亿)向量数据,以前他们可能会考虑使用 PQ 来维持相关性和性能,同时更有效地利用现有硬件。现在,他们可以使用 BBQ。
BBQ 现在拥有更新的算法,提供高达 20% 的召回率提升和 8x–30x 更快的吞吐量,结合 SIMD 实现高效、准确的搜索。Elastic 是首家实现此方法的向量数据库供应商,使得现实世界的搜索工作负载能够更快地得到结果,同时减少计算资源的消耗。
作为我们将 Apache Lucene 打造成最佳向量数据库的使命的一部分,并且我们一直致力于将这些创新带给社区,我们最近已将这些功能合并到 Lucene 中。
与 OpenSearch FAISS 相比,Elasticsearch BBQ 在所有召回率级别下提供多达 5 倍的查询速度和 3.9 倍的吞吐量提升,同时保持相同的准确性。BBQ 专为速度和效率而设计,大幅降低了延迟,非常适合大规模生产工作负载。
量化向量重新评分现在具有简化的 API,进一步提升了开发者体验。BBQ 使用一个小的预测向量进行完整的索引扫描,过采样结果,然后使用更大的向量重新排名。通过新的 API,只需定义过采样率,Elasticsearch 就能无缝地处理重新排名。
随着此次发布,像 ColPali 和 ColBERT 这样的多阶段交互模型也已通过 MaxSim 得到支持!
开箱即用的语义搜索和语义重新排名
通过此次发布,构建者可以开箱即用地访问 ELSER(我们的稀疏向量模型)和 e5(优化的多语言密集向量模型)进行语义搜索。语义重新排名也通过我们的 Elastic Rerank 模型提供,这对于那些希望提升相关性而不改变存储数据形状的用户具有独特的优势。
将你选择的模型与 Elastic 提供的功能相结合,应该是一个轻松的过程。通过我们的开放推理 API,使用新添加的集成可以轻松使用新贡献的 JinaAI 嵌入和重新排名功能,或使用 Watsonx.ai 的语义重新排名功能。
例如,语义搜索从单一映射 semantic_text 开始:
PUT my-data
{
"mappings": {
"properties": {
"my_semantic_field": {
"type": "semantic_text"
}
}
}
}
如果不指定推理端点,你将使用我们默认的语义模型:ELSER。
如果你想使用 Jina AI 最新的嵌入模型 jina-embeddings-v3,只需指定要与 semantic_text 一起使用的推理端点即可。为了方便你,如果你想亲自尝试,可以参考这个 Jupyter notebook,今天就试试看!
PUT my-data-with-jina
{
"mappings": {
"properties": {
"my_semantic_field": {
"type": "semantic_text",
"inference_id": "my-jinaai-endpoint"
}
}
}
}
现在,让我们进行你的第一次自然语言、易读的语义搜索。
POST my-data/_search
{
"query": {
"match": {
"my_semantic_field": "Which vector database was the first in the industry to introduce BBQ and contribute it to the open source community?"
}
},
"highlight": {
"fields": {
"my_semantic_field": {
"number_of_fragments": 2,
"order": "score"
}
}
}
}
或者,如果你更喜欢 ES|QL,可以尝试:
POST _query?format=txt
{
"query": """
FROM my-data
| WHERE my_semantic_field:"Which vector database has BBQ?"
| KEEP my_semantic_field
"""
}
这些查询的答案当然是:Elasticsearch。选择使用我们的默认模型还是你最喜欢的模型,只需定义一个推理端点即可。
等等,还有更多!
在此次发布中,混合搜索的粉丝们将高兴地知道,检索器(retrievers) —— 我们在之前的版本中为更好的组合性和易用性而添加到查询 DSL 中的开发者抽象 —— 现在可以轻松地将线性(linear)和通用(generic recoring)重新评分与倒数排名融合(RRF)结合使用,RRF 是一种很好的默认技术,用于在不同搜索类型组合中规范化得分。
我们继续为 Elasticsearch 查询语言(ES|QL)添加令人兴奋的新命令,但有一个新命令在查询 DSL 中并不可用。让我们携手(JOIN)合作,欢迎通过 Elasticsearch 的强大功能跨数据查询的新方式:
// join employees with their department name
FROM employees
| LOOKUP JOIN departments ON dep_id
| KEEP last_name, first_name, dep_name
在 ES|QL JOIN 博客中阅读更多关于它的信息!
试试吧
在发布说明中阅读更多关于这些功能的信息。
现有的 Elastic Cloud 客户可以直接通过 Elastic Cloud 控制台访问其中许多功能。如果还没有使用 Elastic 云?开始免费试用。
想在你的笔记本上快速开始?运行 curl -fsSL https://elastic.co/start-local | sh
,几分钟内就能开始使用。更多说明,请参阅文章 “使用 start-local 脚本在本地运行 Elasticsearch”。
你还可以下载 Elastic Stack 以及我们的云编排产品 Elastic Cloud Enterprise 和 Elastic Cloud for Kubernetes,进行自我管理的体验。
本文中描述的任何功能或功能的发布和时间安排均由 Elastic 单独决定。任何当前不可用的功能或功能可能不会按时交付或根本不交付。
在本文中,我们可能使用或提及了第三方生成 AI 工具,这些工具由各自的所有者拥有和运营。Elastic 对第三方工具没有控制权,也不对其内容、操作或使用负责,也不对因使用这些工具而可能产生的任何损失或损害负责。在使用带有个人、敏感或机密信息的 AI 工具时,请谨慎行事。你提交的任何数据可能会用于 AI 训练或其他用途。无法保证你提供的信息将保持安全或机密。你在使用任何生成 AI 工具之前,应熟悉其隐私实践和使用条款。
Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 及相关标志是 Elasticsearch N.V. 在美国及其他国家的商标、标识或注册商标。所有其他公司和产品名称均为各自所有者的商标、标识或注册商标。