Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Elasticsearch 7 : Root mapping definition has unsupported parameters (mapper_parsing_exception)

When trying to insert the following mapping in Elasticsearch 7

PUT my_index/items/_mapping
{
   "settings":{

   },
   "mappings":{
      "items":{
         "properties":{
            "products":{
               "properties":{
                  "classification":{
                     "type":"text",
                     "fields":{
                        "raw":{
                           "type":"keyword",
                           "ignore_above":256
                        }
                     }
                  },
                  "original_text":{
                     "type":"text",
                     "store":false,
                     "fields":{
                        "raw":{
                           "type":"keyword",
                           "ignore_above":256
                        }
                     }
                  }
               }
            },
            "title":{
               "type":"text",
               "fields":{
                  "raw":{
                     "type":"keyword",
                     "ignore_above":256
                  }
               },
               "analyzer":"autocomplete"
            },
            "image":{
               "properties":{
                  "type":{
                     "type":"text",
                     "fields":{
                        "raw":{
                           "type":"keyword",
                           "ignore_above":256
                        }
                     }
                  },
                  "location":{
                     "type":"text",
                     "store":false,
                     "fields":{
                        "raw":{
                           "type":"keyword",
                           "ignore_above":256
                        }
                     }
                  }
               }
            }
         }
      }
   }
}

I get an error of the form:

{
"error": {
    "root_cause": [
    {
        "type": "mapper_parsing_exception",
        "reason": "Root mapping definition has unsupported parameters:  

What is causing this error?

like image 257
Phil B Avatar asked Apr 16 '19 02:04

Phil B


1 Answers

In Elasticsearch 7, mapping types have been deprecated, which is causing the breaking change at the source of this problem.

Announcement by the Elasticsearch team of the deprecation, roadmap, and alternatives.

To fix this, simply remove all references to mapping types ("items" in this example):

PUT my_index/_mapping
{
   "settings":{

   },
   "mappings":{
      "properties":{
         "products":{
            "properties":{
               "classification":{
                  "type":"text",
                  "fields":{
                     "raw":{
                        "type":"keyword",
                        "ignore_above":256
                     }
                  }
               },
               "original_text":{
                  "type":"text",
                  "store":false,
                  "fields":{
                     "raw":{
                        "type":"keyword",
                        "ignore_above":256
                     }
                  }
               }
            }
         },
         "title":{
            "type":"text",
            "fields":{
               "raw":{
                  "type":"keyword",
                  "ignore_above":256
               }
            },
            "analyzer":"autocomplete"
         },
         "image":{
            "properties":{
               "type":{
                  "type":"text",
                  "fields":{
                     "raw":{
                        "type":"keyword",
                        "ignore_above":256
                     }
                  }
               },
               "location":{
                  "type":"text",
                  "store":false,
                  "fields":{
                     "raw":{
                        "type":"keyword",
                        "ignore_above":256
                     }
                  }
               }
            }
         }
      }
   }
}
like image 142
Phil B Avatar answered Nov 15 '22 10:11

Phil B