Создайте словарь синонимов для добавления вместо слов замены в PostgreSQL - PullRequest
0 голосов
/ 24 апреля 2020

Я создаю приложение, в котором я добавил функцию полнотекстового поиска, используя встроенную в PostgreSQL FTS. Приложение перечисляет взаимные фонды в Индии. В некоторых случаях компании взаимных фондов приобретаются и их название меняется. Я хотел, чтобы люди могли выполнять поиск по старым именам на случай, если они не узнают об этом изменении. Например, когда средства DHFL были приобретены PGIM, все средства были переименованы из DHFL в PGIM.

Для этого я создал словарь синонимов, в который я добавил PGIM как синоним DHFL.

Однако я обнаружил, что это просто заменяет DHFL на PGIM. Это означает, что некоторые старые фонды, которые все еще сохраняют название DHFL, больше не возвращаются в моем запросе со словом dhfl.

Есть ли вариант, когда синоним добавляет слово, а не заменяет его, так что DHFL ищет и DHFL, и PGIM?

1 Ответ

1 голос
/ 24 апреля 2020

Вы должны использовать новый словарь как с to_tsvector, так и с to_tsquery. Тогда все вхождения DHFL будут заменены на PGIM в обоих, и поиск любого термина найдет любую строку. Они будут рассматриваться как синонимы, а это то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...