web-dev-qa-db-fra.com

Exception Elasticsearch 1.2.1: le mappage de type racine n'est pas vide après l'analyse

Après la mise à jour vers Elasticsearch 1.2.1 Je reçois toujours l'exception suivante sur le mappage suivant:

{
    "tags": {
        "properties": {
            "tags": {
                "type": "string",
                "index": "not_analyzed"
            }
        }
    }
}

C'est l'exception:

Caused by: org.elasticsearch.index.mapper.MapperParsingException: Root type mapping not empty after parsing! Remaining fields: [tags : {properties={tags={index=not_analyzed, type=string}}}]
    at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.Java:265)
    at org.elasticsearch.index.mapper.DocumentMapperParser.parseCompressed(DocumentMapperParser.Java:189)
    at org.elasticsearch.index.mapper.MapperService.parse(MapperService.Java:387)
    at org.elasticsearch.index.mapper.MapperService.merge(MapperService.Java:253)
    at org.elasticsearch.cluster.metadata.MetaDataCreateIndexService$2.execute(MetaDataCreateIndexService.Java:363)

Pourquoi donc?

23
Mark

@Mark, cela semble être un bogue dans 1.2.X. Il y en a eu plusieurs autres qui ont signalé des problèmes similaires, je vais créer un lien vers les billets ci-dessous. Fondamentalement, il semble qu'ils aient resserré la syntaxe des mappages dans 1.2.X mais ils semblent avoir causé des problèmes avec des mappages précédemment valides. Le vôtre en est un exemple.

Je vous suggère d'ouvrir un rapport de bogue - plus de puissance en nombre. Heureux de sonner en disant "moi aussi" si vous ouvrez un ticket, car j'ai recréé le problème sur 1.2.1.

Pour l'instant, j'ai pu travailler ce qui, je crois, vous donne le même résultat souhaité:

curl -XPUT localhost:9200/yourindexname -d 
'{
   "mappings":
   {
    "tags":
      {
       "properties":
         {
          "tags":
            {
             "type":"string",
             "index":"not_analyzed"
            }
          }
        }
    }
}'

Des billets:

https://github.com/elasticsearch/elasticsearch/issues/6414

https://github.com/elasticsearch/elasticsearch/issues/6304

https://github.com/elasticsearch/elasticsearch/issues/6415

10
John Petrone

Cela vous aidera

vous aurez envie de faire

curl -XPUT localhost:9200/new_index -d '
{
  "mappings": { 
    "tags": {
      "properties": {
        "tags": { 
           "type":"string",
           "index":"not_analyzed"
        }
      }
    }
  }
}'

ou vous pouvez également faire de cette façon

curl -XPUT localhost:9200/new_index/new_index_type/_mappings -d '
{
  "new_index_type": {
    "properties": {
      "tags": {
        "type": "string",
        "index": "not_analyzed"
      }
    }
  }
}'
6
Akash Yadav

J'ai eu le même problème parce que j'avais des mappages avec même type dans l'élastique config/mappings répertoire. La suppression du fichier de mappage a résolu mon problème.

1
c-toesca