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

作者:来自 Elastic piotrprz

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

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

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

如果你在使用 Elastic Cloud Serverless,你可以依赖其中的很多东西,这些在一两年前并不一定具备,比如 semantic_textEIS ( 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

相关推荐
AI2中文网几秒前
安卓模拟器启动卡在进度条?两步解决硬件加速冲突
android
2501_931819702 分钟前
车载语音青岛方言数据集搭建阶段 信实翻译垂直场景标准赋能青岛方言标注公司作业
人工智能·语音识别
jay神2 分钟前
深度学习如何确定Batch Size的大小?
人工智能·深度学习·计算机视觉·毕业设计·课程设计·batch
Geeys7 分钟前
拼多多商家客户端和网页版有哪些功能上的差异?
大数据·人工智能
Rina GO8 分钟前
PS怎么把文字贴在圆柱体上?2种实用方法教程附不规则物体贴图
人工智能·贴图·ps插件·不规则物体贴图·文字贴图·ai贴图
IT毕设实战小研9 分钟前
基于大数据的DAX40成分股金融新闻情感趋势可视化分析
android·大数据·python·考研·金融·课程设计
qq_2468397510 分钟前
postgresql xxhash64 哈希函数实现
数据库·postgresql·哈希算法
希望奇迹很安静11 分钟前
等级保护测评
网络·数据库
财迅通Ai12 分钟前
科源制药参股企业航脑科技携手国双控股 合资深耕脑机AI工业应用
人工智能·科技·科源制药
长谷深风11116 分钟前
AI 的 Memory 到底该记什么?
大数据·人工智能·ai agent·智能体·工具调用·用户偏好·长期memory