Basic search in Forem with forem-postgres-search
See https://github.com/frankie-loves-jesus/demo-search if you want to try it out yourself.
When going to http://localhost:3000/forums/default/search:
ActiveRecord::StatementInvalid in Forem::Forums#search
Showing /home/dev/.gem/ruby/2.1.1/bundler/gems/forem-postgres-search-5c1fed5ad6dd/app/views/forem/forums/search.html.erb where line #24 raised:
PG::SyntaxError: ERROR: syntax error at or near "AS"
LINE 1: ...a741b6::text, ''))), (''), 0))) AS pg_search_rank AS count_c...
^
: SELECT COUNT(count_column) FROM (SELECT "forem_topics".*, ((ts_rank((to_tsvector('english', coalesce("forem_topics"."subject"::text, '')) || to_tsvector('english', coalesce(pg_search_f657216e8d26f11e18f48f.pg_search_3f4f20b49c337c6ba741b6::text, ''))), (''), 0))) AS pg_search_rank, "forem_topics".*, ((ts_rank((to_tsvector('english', coalesce("forem_topics"."subject"::text, '')) || to_tsvector('english', coalesce(pg_search_f657216e8d26f11e18f48f.pg_search_3f4f20b49c337c6ba741b6::text, ''))), (''), 0))) AS pg_search_rank AS count_column FROM "forem_topics" LEFT OUTER JOIN (SELECT "forem_topics"."id" AS id, string_agg("forem_posts"."text"::text, ' ') AS pg_search_3f4f20b49c337c6ba741b6 FROM "forem_topics" INNER JOIN "forem_posts" ON "forem_posts"."topic_id" = "forem_topics"."id" GROUP BY "forem_topics"."id") pg_search_f657216e8d26f11e18f48f ON pg_search_f657216e8d26f11e18f48f.id = "forem_topics"."id" WHERE (((to_tsvector('english', coalesce("forem_topics"."subject"::text, '')) || to_tsvector('english', coalesce(pg_search_f657216e8d26f11e18f48f.pg_search_3f4f20b49c337c6ba741b6::text, ''))) @@ (''))) AND "forem_topics"."forum_id" = 1 AND "forem_topics"."hidden" = 'f' AND "forem_topics"."state" = 'approved' LIMIT 20 OFFSET 0) subquery_for_count
Extracted source (around line #24):
<% if @topics.empty? %>
<tr><td colspan='5' align='center'>No Results Found</td></tr>
<% end %>
<%= render @topics %>