0
votes

I have JSON docs (referred to below as "file_content") that have strings that I want all set to not_analyzed. I am trying to accomplish this as such:

if not es.indices.exists(index='telemfile'):
                es.indices.create('telemfile')                                                  #  Create the index to work with
                namapping = {
                    "mappings": {
                        "telemetry_file": {
                            "dynamic_templates": [{
                                "string_fields": {
                                    "match": "*",
                                    "match_mapping_type": "string",
                                    "mapping": {
                                        "type": "string",
                                        "index": "not_analyzed"
                                    }
                                }
                            }]
                        }
                    }
                }
                es.indices.put_mapping(index='telemfile', doc_type='telemetry_file', body=namapping)

            es.index(index='telemfile', doc_type='telemetry_file', body=file_content)

but I get the following error: MapperParsingException[Root type mapping not empty after parsing! Remaining fields: [mappings : {telemetry_file={dynamic_templates=[{string_fields={mapping={type=string, index=not_analyzed}, match=*, match_mapping_type=string}}]}}]]; Can anyone tell me what I am doing wrong?

1

1 Answers

0
votes

I removed the "mappings": object from above, and it works.