Postgresql полнотекстовый поиск, трактуйте натуральное число "01" как "1" - PullRequest
2 голосов
/ 05 февраля 2020

Пример: у меня есть запись в базе данных: [Example] Attena Illusive - 01 [720p].mkv Попытка поиска по запросу:

 SELECT ts_rank_cd(to_tsvector('english', name), query, 1) as rank, *
      FROM tables, plainto_tsquery('Attena Illusive 1') query
      WHERE to_tsvector('english', name) @@ query
      ORDER BY rank desc

Но запись не возвращается. У нас есть какой-нибудь способ решить эту проблему?

1 Ответ

2 голосов
/ 05 февраля 2020

Единственное решение, которое я могу придумать, - это создать собственный словарь синонимов , который сопоставляет 01 с 1 и т. Д.

Затем вы можете создать конфигурация текстового поиска , которая использует этот дополнительный словарь.

...