разным аттрибутам + джоины по 5-6 таблиц?
Реально. У меня в проекте используется родной постгресовский FTS через tsvector. Есть поиск по нескольким атрибутам (название лекарства, штрих-код и название производителя, например) + обычно к этому джоинится еще несколько таблиц. Главное — не забывать делать индексы по FTS, и обновлять ее содержимое, когда что-либо из нужных тебе атрибутов меняется. Также экспериментировали с pg_trgm. Поиск на триграммах получается быстрее tsvector, плюс учитывает опечатки. Но мы от него в итоге отказались, т.к. нам важна возможность влиять на веса слов в зависимости от позиции, что умеет tsvector.
Обсуждают сегодня