Below is an example that return the results you expect. I used edge-ngram .
PUT idx_test
{
"settings": {
"analysis": {
"analyzer": {
"ngram": {
"tokenizer": "standard",
"filter": [
"lowercase",
"ngram_filter"
]
}
},
"filter": {
"ngram_filter": {
"type": "edge_ngram",
"min_gram": 2,
"max_gram": 4
}
}
}
},
"mappings": {
"properties": {
"title": {
"type": "text",
"fields": {
"ngram": {
"type": "text",
"analyzer": "ngram"
}
}
}
}
}
}
POST idx_test/_doc
{
"title": "Tpp Infotech Ltd."
}
GET idx_test/_search
{
"query": {
"match": {
"title.ngram": "info tpp"
}
}
}