Elasticsearch检索和操作stored_fields

时间:2019-03-15 10:51:13

标签: elasticsearch scripting minhash

我有一个文档,其中存储的字段类型为minhash,我想获取此字段并将其转换为文本,术语或字符串以使其可搜索。我想用ctx字段操作尝试一下,这是doc:

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "test_minhash_test",
        "_type" : "_doc",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "message" : "A lazy dog.",
          "test" : "null "
        },
        "fields" : {
          "minhash_value" : [
            "JDIE+qAD5uvfOiE8i8afSg=="
          ]
        }
      }
    ]
  }
}

根据elasticsearch,您可以使用_fields['field_name'].value来做到这一点,但是以某种方式这是行不通的... https://www.elastic.co/guide/en/elasticsearch/reference/6.7/modules-scripting-fields.html

POST /test_minhash_test/_doc/1/_update
{
  "script": {
    "lang": "painless",
    "source":  "ctx._fields.minhash_value = ctx._fieldsminhash_value + ' ' "
  }
}

上面的代码不起作用。有没有更好的方法?

0 个答案:

没有答案