Как реализовать исправление раскладки в elasticsearch?
Добрый день! Не могу понять как делается подобный функционал? В доке по эластике ничего нет, а в гугле находил, что исправляем раскладку пыхой и готовый запрос отдаем в эластик.
Может кто делал подобное, поделитесь опытом.
DELETE my_index
PUT my_index
{
"settings": {
"analysis": {
"char_filter": {
"rus_en_key": {
"type": "mapping",
"mappings": [
"a => ф",
"b => и",
"c => с",
"d => в",
"e => у",
"f => а",
"g => п",
"h => р",
"i => ш",
"j => о",
"k => л",
"l => д",
"m => ь",
"n => т",
"o => щ",
"p => з",
"r => к",
"s => ы",
"t => е",
"u => г",
"v => м",
"w => ц",
"x => ч",
"y => н",
"z => я",
"A => Ф",
"B => И",
"C => С",
"D => В",
"E => У",
"F => А",
"G => П",
"H => Р",
"I => Ш",
"J => О",
"K => Л",
"L => Д",
"M => Ь",
"N => Т",
"O => Щ",
"P => З",
"R => К",
"S => Ы",
"T => Е",
"U => Г",
"V => М",
"W => Ц",
"X => Ч",
"Y => Н",
"Z => Я",
"[ => х",
"] => ъ",
"; => ж",
"< => б",
"> => ю"
]
}
},
"analyzer": {
"rus_en_key_analyzer": {
"char_filter": [
"rus_en_key"
],
"tokenizer": "standard",
"token_filter": ["lowercase"]
}
}
}
},
"mappings": {
"my_doc": {
"properties": {
"text": {
"type": "text"
}
}
}
}
}
PUT my_index/my_doc/_bulk?refresh
{"index":{"_id":1}}
{"text" : "Самокат (скутер, англ. scooter) — наземное средство передвижения, в основном двухколёсное, приводимое в действие путём многократного отталкивания ногой от земли в положении стоя, и управляемое при помощи руля, ранее так называли велосипед"}
{"index":{"_id":2}}
{"text" : "Самокат используется не только в качестве транспорта, но и в качестве средства для развлечения, занятия спортом и физкультурой (тренажёр). Существуют также трёхколёсные инерционные конструкции самокатов с двумя подножками, где разгон происходит при переносе веса тела с одной ноги на другую без отталкивания от земли"}
{"index":{"_id":3}}
{"text" : "Точное время создания самоката неизвестно. Похожие на него изображения встречаются на древних фресках. Есть версия, что самокат впервые был изготовлен в 1761 году в Германии каретным мастером Михаэлем Касслером. По другой версии, самокат создал немецкий изобретатель Карл фон Дрез в 1817 году, и усовершенствовал его в 1820 году, сделав управляемым переднее колесо. Такие самокаты приобрели популярность во Франции и Англии. Английские самокаты, в отличие от немецких, имели железную раму."}
POST my_index/my_doc/_search
{
"aggs": {
"keyboard": {
"filters": {
"filters": {
"eng": {
"match": {
"text": {
"query": "cfvjrfn"
}
}
},
"rus": {
"match": {
"text": {
"query": "cfvjrfn",
"analyzer": "rus_en_key_analyzer"
}
}
}
}
}
}
},
"size": 0
}