当一个索引已经存在之前,Elasticsearch映射问题

时间:2017-03-11 00:57:08

标签: elasticsearch

只要Elastic搜索中已存在一个索引,我就会尝试使用以下步骤创建另一个索引。

1)使用设置分析器

创建一个名为 dsi2 的空索引
curl -XPUT 'https://instance:9243/dsi2' -d '{
  "settings": {
    "index": {
      "number_of_shards": 1,
      "number_of_replicas": 1
    },
    "analysis": {
      "analyzer": {
        "analyzer_keyword": {
          "tokenizer": "keyword",
          "filter": "lowercase"
        }
      }
    }
  }
}'

2)创建映射,

curl -XPUT 'https://instance:9243/_mapping/dsi2' -d '{
  "_all": {
    "enabled": true
  },
   "properties": {
    "formTypeId": {
      "type": "integer"
    },
    "status": {
      "type": "integer"
    },
    "tenantId": {
      "type": "integer"
    },
    "formDefinitionId": {
      "type": "integer"
    },
    "instance": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "fields": {
            "raw": {
              "type": "integer",
              "index": "not_analyzed"
            }
    .....

它抛出

{
  "error": {
    "root_cause": [
      {
        "type": "mapper_parsing_exception",
        "reason": "analyzer [analyzer_keyword] not found for field [raw]"
      }
    ],
    "type": "mapper_parsing_exception",
    "reason": "analyzer [analyzer_keyword] not found for field [raw]"
  },
  "status": 400
}
dsi2 是使用相同步骤创建的唯一索引时, dsi2 创建映射时没有问题1)& 2)以上。如果已经在 dsi2 之前创建了一个索引 - 尽管两个索引都是单独的索引 - 是否与映射有冲突?

0 个答案:

没有答案