Yes, you have the right idea.
And to get the multi search to use the tsvector column, you'll need to configure it in an initializer via PgSearch.multisearch_options.
# config/initializers/pg_search.rb
PgSearch.multisearch_options = {
:against => "content",
:using => {
:tsearch => {
:tsvector_column => "tsvector_content_tsearch"
}
}
}
And since the :dmetaphone search is also backed by a tsvector, you may want to make a similar tsvector column that uses a trigger that calls the pg_search_dmetaphone() function before converting the content to tsvector. It's a bit more advanced, and unnecessary if :tsearch is good enough for your use. Also, the :trigram search does not use a tsvector at all.
Don't hesitate to let us know if you have any questions or run into any obstacles. Thanks!
--
Grant Hutchins
Pivotal Labs