Fast Full-Text Search with Ecto and PostgreSQL(nathanmlong.com)
nathanmlong.com
Fast Full-Text Search with Ecto and PostgreSQL
http://nathanmlong.com/2018/01/fast-fulltext-search-with-ecto-and-postgresql/
http://nathanmlong.com/2018/01/fast-fulltext-search-with-ecto-and-postgresql/
The alternative to building a materialized view may be to build an index with a tsvector instead, though the that might not work since the document is not trivial; it certainly would have a problem with tags, though those can be treated separately. The huge advantage of an index is that it's automatically refreshed for you.
Realistically though, you'll probably never run into performance problems building a materialized view due to too many submitted recipes. ;)