Hm, I just tried mapping from your first post, and all seems to be ok.
DELETE /sample
PUT /sample
{
"settings": {
"analysis": {
"filter": {
"my_delimiter": {
"type": "word_delimiter",
"type_table": [
"# => ALPHANUM",
"+ => ALPHANUM"
]
}
},
"analyzer": {
"my_analyzer": {
"tokenizer": "whitespace",
"filter": ["lowercase", "my_delimiter"]
}
}
}
},
"mappings": {
"product": {
"properties": {
"title": {
"type": "string",
"analyzer": "my_analyzer"
}
}
}
}
}
POST /sample/product/1
{
"title": "Programming C++"
}
POST /sample/product/2
{
"title": "Programming C#"
}
POST /sample/_search
{
"query": {
"multi_match": {
"query": "c++",
"fields": ["title"]
}
}
}