news 2026/6/10 1:50:14

Elasticsearch:在 X-mas 吃一些更健康的东西

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Elasticsearch:在 X-mas 吃一些更健康的东西

作者:来自 Elastic piotrprz

我希望在假期里,你们也在吃健康的东西,而不只是甜蛋糕

假设你想提前买一些水果,你可能不知道所有的名字,也可能不知道你实际上想吃哪种水果,商店的库存里有很多东西,或者(就像我一样)你在国外过假期。

这里可以帮上忙的是一个不错的、低成本、多语言的语义搜索。

如果你在使用 Elastic Cloud Serverless,你可以依赖其中的很多东西,这些在一两年前并不一定具备,比如 semantic_text、EIS ( Elastic Inference Service ),或者来自 Jina 的多语言密集向量模型,它在 EIS 中默认启用,不需要让你的 GPU 吃力,也不需要你提前规划 ML 节点。

更多阅读:Elasticsearch:使用推理端点及语义搜索演示

假设商店用来保存库存的索引真的非常、非常简单(为了简单起见,我们跳过名称、SKU 和其他内容)。

PUT inventory { "mappings": { "properties": { "item": { "type": "semantic_text", "inference_id": ".jina-embeddings-v3" } } } }

然后,让我们用一些可以购买的商品来填充它:

POST inventory/_bulk?refresh=true { "index": { } } { "item": "cherries 🍒" } { "index": { } } { "item": "train 🚆" } { "index": { } } { "item": "bananas 🍌" } { "index": { } } { "item": "computer 💻" } { "index": { } } { "item": "apple 🍎" } { "index": { } } { "item": "framboises 🍓" } { "index": { } } { "item": "der Apfel 🍏" } { "index": { } } { "item": "tomato 🍅" } { "index": { } } { "item": "das Auto 🚗" } { "index": { } } { "item": "bicycle 🚲" } { "index": { } } { "item": "naranjas 🍊" }

请注意,在库存中我们保存了来自所有部门的商品,而且它们使用 English、 French、 German 和 Spanish。

在我们运行 POST inventory/_search 之后,应该可以以随机顺序看到所有商品。

但是,当我想吃一些水果时,在 Polish 中是 “owoce”(顺便说一下这是复数 BTW),那么我所需要的只是:

POST inventory/_search { "query": { "match": { "item": "owoce" // this stands for "fruit" in Polish } } }

我们得到的返回结果如下:

{ "took": 251, "timed_out": false, "_shards": { "total": 3, "successful": 3, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 11, "relation": "eq" }, "max_score": 0.6704586, "hits": [ { "_index": "inventory", "_id": "8EtNK5sBRerpcHC7zVrq", "_score": 0.6704586, "_source": { "item": "cherries 🍒" } }, { "_index": "inventory", "_id": "9EtNK5sBRerpcHC7zVrr", "_score": 0.6327668, "_source": { "item": "apple 🍎" } }, { "_index": "inventory", "_id": "-ktNK5sBRerpcHC7zVrr", "_score": 0.61157316, "_source": { "item": "naranjas 🍊" } }, { "_index": "inventory", "_id": "8ktNK5sBRerpcHC7zVrr", "_score": 0.6047706, "_source": { "item": "bananas 🍌" } }, { "_index": "inventory", "_id": "9UtNK5sBRerpcHC7zVrr", "_score": 0.60331476, "_source": { "item": "framboises 🍓" } }, { "_index": "inventory", "_id": "9ktNK5sBRerpcHC7zVrr", "_score": 0.5917518, "_source": { "item": "der Apfel 🍏" } }, { "_index": "inventory", "_id": "90tNK5sBRerpcHC7zVrr", "_score": 0.5634274, "_source": { "item": "tomato 🍅" } }, { "_index": "inventory", "_id": "-UtNK5sBRerpcHC7zVrr", "_score": 0.50522983, "_source": { "item": "bicycle 🚲" } }, { "_index": "inventory", "_id": "80tNK5sBRerpcHC7zVrr", "_score": 0.5001138, "_source": { "item": "computer 💻" } }, { "_index": "inventory", "_id": "-EtNK5sBRerpcHC7zVrr", "_score": 0.48864484, "_source": { "item": "das Auto 🚗" } } ] } }

这告诉我们几件事情:

  • 与几年前和早期版本相比,现在创建和运行语义搜索要简单得多;将 semantic_text 和运行在 EIS 中的 models 结合起来让事情变得非常容易:不需要安装模型,不需要担心容量规划,也不需要多次网络往返来获取 embeddings(无论是存储还是搜索),等等。
  • 如果你有一个 multi-language 模型,那会非常有帮助,并且可以节省翻译工作。
  • 我们知道 tomato是一种水果,但也许我们不应该把它加到水果沙拉里 :slight_smile

今天就到这里。我祝你有一个健康的饮食和健康的集群 :slight_smile:

原文:https://discuss.elastic.co/t/dec-25th-2025-en-eat-something-healthier-at-x-mas/384137

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 18:48:36

利用PaddlePaddle镜像实现中文文本分类的完整案例

利用PaddlePaddle镜像实现中文文本分类的完整实践 在智能客服系统每天需要处理数万条用户留言的现实场景中,如何快速准确地识别“投诉”“咨询”“建议”等类别,已经成为企业提升服务效率的关键瓶颈。更棘手的是,中文语境下的表达方式千变万化…

作者头像 李华
网站建设 2026/6/9 18:50:32

Universal Ctags完全指南:代码索引工具的高效开发终极方案

Universal Ctags完全指南:代码索引工具的高效开发终极方案 【免费下载链接】ctags universal-ctags/ctags: Universal Ctags 是一个维护中的 ctags 实现,它为编程语言的源代码文件中的语言对象生成索引文件,方便文本编辑器和其他工具定位索引…

作者头像 李华
网站建设 2026/6/9 22:32:55

5个必掌握的PHP静态代码分析技巧:以Dompdf项目为例

5个必掌握的PHP静态代码分析技巧:以Dompdf项目为例 【免费下载链接】dompdf HTML to PDF converter for PHP 项目地址: https://gitcode.com/gh_mirrors/do/dompdf 你的代码真的"健康"吗?🤔 让我们用专业工具为它做一次全面体…

作者头像 李华
网站建设 2026/6/9 20:05:34

Linux系统动态壁纸配置与优化指南

Linux系统动态壁纸配置与优化指南 【免费下载链接】dynamic-wallpaper A simple bash script to set wallpapers according to current time, using cron job scheduler. 项目地址: https://gitcode.com/gh_mirrors/dy/dynamic-wallpaper 技术概述与实现原理 动态壁纸技…

作者头像 李华
网站建设 2026/6/9 20:05:08

手机弹窗拦截自动化工具:LiTiaotiao_Custom_Rules让你告别烦人弹窗

手机弹窗拦截自动化工具:LiTiaotiao_Custom_Rules让你告别烦人弹窗 【免费下载链接】LiTiaoTiao_Custom_Rules 李跳跳自定义规则 项目地址: https://gitcode.com/gh_mirrors/li/LiTiaoTiao_Custom_Rules 你是否也厌倦了每天打开手机应用时不断弹出的各种弹窗…

作者头像 李华
网站建设 2026/6/9 21:25:01

KiCad多页原理图设计完整指南:高效管理复杂电路

从“画图”到“架构”:用 KiCad 构建可维护的多页原理图系统你有没有过这样的经历?一个看似简单的项目,随着功能叠加,原理图越画越长,满屏都是交叉的飞线。想找一根I2C_SCL,结果它穿过了电源模块、ADC采集、…

作者头像 李华