Hi Everyone,
i want to perform spell check suggestion with my data.I tried hard but i'm not able to get spell check suggestion.if anybody knows about that then please help me to resolve this problem.so tell me what is putting inside the mapping and the query to get the spell check suggestion.Let suppose i am putting name as Iorn means wrong spelling will be putting then automatic suggest me to correct word.I am sending my Index,mapping,data and query
- 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
}]
}]
}]
}
- QUERY:
GET /test_word20/my_type/_search
{
"_source": false,
"query": {
"nested": {
"path": "children.children.children",
"query": {
"bool": {
"must": [
{
"match": {
"children.children.children.name": {
"query": "Iron",
"analyzer": "standard"
}
}
}
]
}
},
"inner_hits": {
"_source": {
"excludes":["name"]
}
}
}
}
}