72 похожих чатов

Добрый день! Внедряю полнотекстовый поиск и столкунулся с некоторыми проблемами.

Результаты не сильно радуют. Есть таблица buildings, в котором есть колонка с полным адрессом здания.
Создал индекс: CREATE INDEX IF NOT EXISTS idx_buildings_address_string_gin ON buildings USING gin (
to_tsvector('russian', address_string)
);
SELECT *
FROM buildings
WHERE to_tsvector('russian', address_string) @@ plainto_tsquery('russian', 'Лермонтова, 2');
Получаю 0 результатов.
Делаю такой же запрос, только через ilike:
SELECT *
FROM buildings
where address_string ilike '%Лермонтова, 2%';
Получаю 40 результатов.
Вот примеры адресов: "Кемеровская область - Кузбасс обл, г Новокузнецк, р-н Куйбышевский, ул Лермонтова, 26"
"Хакасия Респ, г Абакан, ул Лермонтова, 21"
"Хакасия Респ, г Абакан, ул Лермонтова, 27"
"Хакасия Респ, г Абакан, ул Лермонтова, 29"
"Хакасия Респ, г Абакан, ул Лермонтова, 20"
"Хакасия Респ, г Абакан, ул Лермонтова, 25"
"Иркутская обл, г Иркутск, ул Лермонтова, 297б"
Вопрос такой: Как можно сделать полнотекстового поиска, чтобы он находил адреса, когда им на вход подаются не полные адреса?

1 ответов

14 просмотров

Вам стоит разбираться / тестировать по шагам (какие получаются tsvector и tsquery, например). См. также: https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES Ну и да, почему бы не спросить в https://t.me/pgsql ?

Похожие вопросы

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Всем привет Подскажите, какой план выбирать на Heroku Если я хочу запускать scheduled jobs (queues) на своем сервере? Я так понимаю для queues запускаются на отдельных workers...
Egor Chernenko
1
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
Что за японодичь? Мне хоть m68k, хоть 8080, 8088, на любом можно что-то создать
Егор
5
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Карта сайта