The recommendation for searching is more straightforward. It’s a hard problem to solve and the folks at Algolia and Elastic (among others) are solving the problem effectively. Even if you were doing simple text searches in Postgres previously, it’s likely worth the effort to look into one of these services.
It's especially valuable to use an abstracted service because it's like that you're going to want to index content from multiple sources.
The process doesn’t change much beyond choosing a vendor (if you don't already have one). Some mechanism listens for content changes and updates the index (or triggers the service to update its index). This is typically either through a webhook from a CMS or during a build for pre-rendered content. A search request queries the provider’s API and you handle rendering the results on the frontend.