Создайте еще одно проиндексированное поле, в котором название компании будет , а не , отмеченным токеном. При необходимости выполняйте поиск в этом поле, а не в поле имени токенизированной компании.
Если вы хотите быстрый поиск, вам нужны индексные записи, которые указывают непосредственно на интересующие вас записи. Там может быть что-то, что вы можете использовать с данными о близости для фильтрации записей, но это будет медленно. Я вижу проблему в следующем: как эффективно выполнить «содержащий» запрос по полному полю?
Возможно, вы сможете минимизировать увеличение размера индекса, создав (для каждого текущего поля) поле «первый член» и поле «оставшиеся условия». Это устранит дублирование первого члена в двух областях. Для «обычных» запросов вы ищите условия запроса в любом из этих полей. Для запросов «старт с» вы ищете только поле «первый термин». Но это похоже на большие проблемы, чем оно того стоит.