Hi Everyone,
I want to perform dynamic mapping with nested data in elasticsearch but I am stucking at this point.please help me to resolve this issue.i am sending my data and mapping.
Index:
PUT /test_word20
{
"settings": {
"number_of_shards": 1,
"analysis": {
"filter": {
"autocomplete_filter": {
"type": "edge_ngram",
"min_gram": 1,
"max_gram": 20
}
},
"analyzer": {
"autocomplete": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"autocomplete_filter"
]
}
}
}
}
}
MAPPING:
PUT /test_word20/_mapping/my_type
{
"properties": {
"name": {
"type": "string",
"analyzer": "autocomplete"
},
"depth":{
"type":"long"
},
"children": {
"type": "nested",
"properties": {
"name": {
"type": "string",
"analyzer": "autocomplete"
},
"depth":{
"type":"long"
},
"children": {
"type": "nested",
"properties": {
"code": { "type": "string" },
"name": {
"type": "string",
"analyzer": "autocomplete"
},
"depth":{
"type":"long"
},
"children": {
"type": "nested",
"properties": {
"code": { "type": "string" },
"name": {
"type": "string",
"analyzer": "autocomplete"
},
"depth":{
"type":"long"
}
}
}
}
}
}
}
}
}
DATA:
POST /test_word20/my_type/1
{
"name": "Diseases of the blood and blood-forming organs and certain disorders involving the immune mechanism (D50-D89)",
"depth": 1,
"children": [{
"name": "Nutritional anemias (D50-D53)",
"depth": 2,
"children": [{
"code": "D50",
"name": "Iron deficiency anemia",
"depth": 3,
"children": [{
"code": "D50.0",
"name": "Iron deficiency anemia secondary to blood loss (chronic)",
"depth": 4
}, {
"code": "D50.1",
"name": "Sideropenic dysphagia",
"depth": 4
}, {
"code": "D50.8",
"name": "Other iron deficiency anemias",
"depth": 4
}, {
"code": "D50.9",
"name": "Iron deficiency anemia, unspecified",
"depth": 4
}]
}]
}]
}