You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在本地ElasticSearch中使用自部署模型实现文本扩展语义搜索

可以用自部署模型替代ELSER实现text_expansion查询
  • 前提确认:你部署的自定义模型必须是文本扩展类模型,输出格式要和ELSER兼容——能生成可用于rank_features字段的token权重集合。普通向量模型无法直接用于text_expansion查询,需改用knn查询。

  • 引用自部署模型的步骤:

    1. 获取自定义模型ID:
      执行命令查看所有已部署模型:
      GET _ml/trained_models/_all
      
      在返回结果中找到目标模型的model_id(例如my-custom-text-expansion-model)。
    2. 修改查询语句:
      将官方示例中的model_id替换为你的自定义模型ID即可,示例如下:
      GET my-index/_search
      {
         "query":{
            "text_expansion":{
               "my_embeddings.tokens":{ 
                  "model_id":"my-custom-text-expansion-model", // 替换为你的模型ID
                  "model_text":"your query string"
               }
            }
         }
      }
      
  • 注意事项:

    • 确保自定义模型已通过ES的ML模块成功部署,状态为started。
    • 索引的my_embeddings.tokens字段必须是rank_features类型,且是用同一自定义模型生成的token权重数据,否则查询无法正常匹配。
    • 本地Docker部署的ES需确保开启了ML插件(默认已包含,容器启动时需保证ML功能启用)。

内容的提问来源于stack exchange,提问作者camoneme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 11:22:42