Поиск не находит русский текст с опечатками, так как стандартный алгоритм поиска в Elasticsearch использует сравнение аналитических токенов в индексе с токенами в запросе. При этом опечатки могут привести к созданию других токенов, которые отличаются от исходных и не совпадают с токенами в индексе.
Для исправления запроса в Elasticsearch для поиска города "Новосибирск" с опечаткой в названии можно использовать функцию Fuzzy matching. Эта функция позволяет искать текст, который похож на искомый, но имеет небольшие отличия или опечатки.
Пример запроса с использованием Fuzzy matching для поиска города "Новосибирск" с опечатками:
```
{
"query": {
"fuzzy": {
"city": {
"value": "Новасибирск",
"fuzziness": "AUTO"
}
}
}
}
```
В данном запросе "fuzziness": "AUTO" позволяет Elasticsearch определить самому, какие опечатки допустимы и выполнить поиск с учетом этих опечаток.