Как индексировать таблицу postgres по имени, если имя может быть на любом языке?

У меня есть большая таблица местоположений (магазины, достопримечательности и т. Д.), Которые пользователь может искать различными способами. Когда пользователь хочет выполнить поиск по названию места, система в настоящее время делает это (при условии, что поиск выполняется в кафе):

lower(location_name) LIKE '%cafe%'

как часть запроса. Это крайне неэффективно. Запредельно так. Важно, чтобы я сделал это быстрее. Я'мы пытались проиндексировать таблицу на

gin(to_tsvector('simple', location_name))

и поиск с

(to_tsvector('simple',location_name) @@ to_tsquery('simple','cafe'))

который прекрасно работает и сокращает время поиска на пару порядков.

Однако названия локаций могут быть на любом языке, включая такие языки, как китайский, который неT пробелы с разделителями. Эта новая система не может найти китайские локации, если я не ищу точное имя, тогда как старая система может найти совпадения с частичными именами просто отлично.

Итак, мой вопрос: могу ли я заставить это работать для всех языков одновременно, или я не на том пути?