Я не уверен, не станет ли это излишним для вас, но у меня была похожая задача с сопоставлением некоторых описаний с использованием расширения pg_trgm.Проблема была аналогичной - было возможно иметь больше описаний для одного случая.
После некоторых тестов я создал решение, которое для каждого случая создает одну каскадную строку, составленную как список отдельных слов из всех описаний для данного случая.
И я проверяю «сходство» этого уникального описания с заданной строкой поиска.Проблема с триграммой состоит в том, что строка, содержащая одни и те же слова несколько раз, имеет более низкий коэффициент сходства с тестовой строкой, чем описание, содержащее только отдельные слова ...
И, чтобы быть еще более точным, в конце я также провела предварительную обработку"поиск строки", чтобы удалить возможные повторяющиеся слова даже из нее ... Люди иногда вводят невероятные вещи ...: -)