Я использую эту функцию поиска в своем контроллере:
def search(query, search_term) do
(from u in query,
where: fragment("to_tsvector(?) @@ plainto_tsquery(?)", u.name, ^search_term),
order_by: fragment("ts_rank(to_tsvector(?), plainto_tsquery(?)) DESC", u.name, ^search_term))
end
Он работает только для одного поля моей модели. Я хотел бы выполнять поиск по всем полям или иметь возможность выполнять поиск по нескольким выбранным (имя_метка, контакты, ...) одновременно. Как это сделать?
||
и применитьto_tsvector
к результату. Но нет, волшебной стенографии не существует. Обычно людям не нужен полнотекстовый поиск в столбце первичного ключа... 04.10.2016