Не ищет в индексе по половине слова

Давайте посмотрим какие токены получаются в каждом случае. Запускаем анализатор на документе:

GET _analyze
{
  "tokenizer": "standard",
  "filter": [
    "lowercase",
    {
      "type": "stop",
      "stopwords": "_russian_"
    },
    {
      "type": "stemmer",
      "language": "russian"
    },
    {
      "type": "stemmer",
      "language": "possessive_english"
    },
    {
      "type": "stemmer",
      "language": "english"
    }
  ],
  "text": "Балтика №0, Балтика №1"
}

Получаем токены балтик, 0, балтик, 1. Теперь запускаем анализатор на вашем запросе, получаем балт. Токен из вашего запроса не совпадает ни с одним токеном из вашего документа, и как результат вы ничего не находите.