Elasticsearch 6.2,将非索引字段复制到新索引中

时间:2020-03-10 21:36:21

标签: elasticsearch elasticsearch-6

我继承了带有不可搜索字段的elasticsearch 6.2.3索引,我需要使用Kibana在该字段中获取唯一的值列表:

{
  "myindex": {
    "mappings": {
      "mytypename": {
        "field_name": {
          "full_name": "field_name",
          "mapping": {
            "field_name": {
              "type": "text",
              "index": false
            }
          }
        }
      }
    }
  }
}

如果我尝试搜索,则会收到“由于未索引字段[field_name],因此无法搜索”。我尝试更改映射,但看起来仅适用于更高版本,“验证失败:1:缺少映射类型;”:

PUT /myindex/_mapping
{
  "properties": {
    "field_name": {
      "type": "keyword",
      "index": true
    }
  }
}

我尝试仅使用该字段创建一个新索引,但是将其作为关键字索引,但是当我尝试重新索引时,我得到“最终映射将具有不止一种类型”:

PUT /newindex
{
    "mappings" : {
      "type_name": {
        "properties" : {
            "field_name" : { "type" : "keyword", "index": true }
     }
      }
    }
}

POST _reindex
{
  "source": {
    "index": "myindex",
    "_source": ["field_name"]
  },
  "dest": {
    "index": "newindex"
  }
}

相关信息:我是一个SQL专家,所以这让我发疯。我的语法可能完全不正确,因为在各个版本之间,它的变化很大。关于如何在弹性6.2中获得field_name的唯一列表的任何见解?

0 个答案:

没有答案