Я являюсь автором и сопровождающим pg_search.
По умолчанию поисковые термины объединяются с помощью AND в полнотекстовом поиске PostgreSQL.Таким образом, вы можете просто сделать это:
@output = PgSearch.multisearch("filter 1 filter 2")
Если предположить, что у вас есть условия запроса в строковых переменных, это будет выглядеть примерно так:
@output = PgSearch.multisearch("#{query1} #{query2}") # if query1 and query2 are strings
@output = PgSearch.multisearch(queries.join(" ")) # if queries is an array of strings
Соединение OR - этонамного сложнее.У меня пока нет простого решения, хотя это должно быть возможно.