Mysql
 sql >> Database >  >> RDS >> Mysql

API ElasticSearch PutMapping:MapperParsingException Mappatura del tipo radice non vuota dopo l'analisi

Il tuo tipo non è coerente, nella chiamata API il tipo è mio_tipo

curl -XPUT http://localhost:9200/my_index/_mapping/my_type

quindi diventa sale_test nel messaggio JSON.

Avere un tipo coerente risolverà il tuo problema:

curl -XPUT http://localhost:9200/my_index/_mapping/sale_test -d '
    { 
     "sale_test": { 
       "properties": { 
         "Client": {"type": "string", "index": "not_analyzed" }, 
         "OfferRGU": { "type": "long" }, 
         "SaleDate": { "type": "date", "format": "dateOptionalTime" },
         "State": { "type": "string" }
         } 
       } 
    }'

Qui hai entrambi un nuovo indice e un nuovo tipo :

curl -XGET http://localhost:9200/dgses/sale_test_river/_mapping

La correzione dell'indice e del tipo mi dà:

curl -XGET http://localhost:9200/my_index/sale_test/_mapping?pretty
{
  "myindex" : {
    "mappings" : {
      "sale_test" : {
        "properties" : {
          "Client" : {
            "type" : "string",
            "index" : "not_analyzed"
          },
          "OfferRGU" : {
            "type" : "long"
          },
          "SaleDate" : {
            "type" : "date",
            "format" : "dateOptionalTime"
          },
          "State" : {
            "type" : "string"
          }
        }
      }
    }
  }
}