When you want to search quickly by multiple columns in multiple tables in an SQL database, you would need to place indexes on almost everything. That's a good way to get the write-performance of your relational database to record-lows.
For that reason I would recommend you to use an independent system for searching. From the technologies you mentioned I would rather recommend the dedicated search server Apache Solr (which is part of the Lucene project, not a separate technology) than MongoDB, because MongoDB is an interesting database technology a lots of great features, but its text search is not a core feature and rather tagged-on.
But technology-choices are always subjective, so evaluate all the options, see how they line up with your specific requirements and make your own decision.