elasticsearch-无法通过更新API更新密集向量场

elasticsearch-无法通过更新API更新密集向量场,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,您好,我正在尝试更新其中一个es文档中的密集向量数据,无法更新映射中不存在的错误字段,即使该字段存在 映射: { "sidx-4111c0fc-a8ba-523c-9851-34a2b803643b" : { "mappings" : { "properties" : { "dense_vector_field" : { "type

您好,我正在尝试更新其中一个es文档中的密集向量数据,无法更新映射中不存在的错误字段,即使该字段存在

映射:

{
  "sidx-4111c0fc-a8ba-523c-9851-34a2b803643b" : {
    "mappings" : {
      "properties" : {
       
        "dense_vector_field" : {
          "type" : "dense_vector",
          "dims" : 768
        },
       
        "searchResultPreview" : {
          "type" : "text",
          "fields" : {
            "search_result_preview" : {
              "type" : "keyword"
            }
          }
        }
      }
    }
  }
质疑-

POST /sidx-4111c0fc-a8ba-523c-9851-34a2b803643b/_update/xLVRVHUB3NwnlUUimDIR
{
  "dense_vector_field": [...]
}

错误:

{
  "error" : {
    "root_cause" : [
      {
        "type" : "x_content_parse_exception",
        "reason" : "[2:3] [UpdateRequest] unknown field [dense_vector_field]"
      }
    ],
    "type" : "x_content_parse_exception",
    "reason" : "[2:3] [UpdateRequest] unknown field [dense_vector_field]"
  },
  "status" : 400
}

我是不是遗漏了什么


编辑-由于尺寸过大而忽略提及向量数据

问题在于
\u update
API需要
文档
脚本
,因此您需要这样做:

POST /sidx-4111c0fc-a8ba-523c-9851-34a2b803643b/_update/xLVRVHUB3NwnlUUimDIR
{
  "doc": {
    "dense_vector_field": [...]
  }
}
或者通过使用
脚本

POST /sidx-4111c0fc-a8ba-523c-9851-34a2b803643b/_update/xLVRVHUB3NwnlUUimDIR
{
  "script": {
    "source": "ctx._source.dense_vector_field = params.vector",
    "params": {
      "vector": [...]
    }
  } 
}