У меня есть анализатор электронной почты в Elasticsearch 1.7, который, как я ожидаю, будет обрабатывать электронные письма как целую строку и никоим образом не разбивать их.Однако происходит то, что ввод электронной почты разделяется на символ @.
это мой шаблон
{
"template": "someindex*",
"settings": {
"index.analysis.filter.length-filter.min": "8",
"index.analysis.analyzer.default.stopwords": "_none_",
"index.analysis.filter.length-filter.type": "length",
"index.analysis.filter.length-filter.max": "4999",
"index.mapper.dynamic": "true",
"index.analysis.analyzer.default.type": "standard",
"index.analysis.analyzer.email-analyzer.filter" : ["lowercase","unique"],
"index.analysis.analyzer.email-analyzer.type" : "custom",
"index.analysis.tokenizer.email-tokenizer.type" : "uax_url_email",
"index.analysis.analyzer.email-analyzer.tokenizer" : "email-tokenizer"
},
"mappings": {
"_default_": {
"properties": {
"email": {
"index_analyzer" : "email-analyzer",
"search_analyzer" : "email-analyzer",
"type" : "string",
"fields" : {
"raw" : {
"index" : "not_analyzed",
"ignore_above" : 256,
"type" : "string"
}
}
}
},
"_all": {
"enabled": true,
"omit_norms": true
}
}
},
"aliases": {
"someindex": {}
}
}
, когда я выполняю это
$ curl -XGET 'http://localhost:9200/someindex/_analyze?analyzer=email-analyzer' -d 'test.me@gmail.com'
{"tokens":[{"token":"test.me","start_offset":0,"end_offset":7,"type":"<ALPHANUM>","position":1},{"token":"gmail.com","start_offset":8,"end_offset":17,"type":"<ALPHANUM>","position":2}]}
Я вижу, чтописьмо разбивается, хотя я определил токенайзер uax_url_email для этого конкретного анализатора.
Что я здесь не так делаю?
Спасибо за помощь!аль