Advanced search form with multiple custom fields

Custom fields are stored in post metadata, which is very expensive (slow) to query. Ideally, you would be better off re-coding the site to use custom taxonomies instead of custom fields. From there, search would be easier.

If you stick with ACF or other metadata, you can customize the search form and queries, but you’ll be putting a lot of load on the server. At that point, it would be preferable to add a search service such as ElasticSearch or Swiftype. The client would pay for this monthly or annual service, but they’d be able to do all sorts of filtering and sorting without as much custom code, and everything would load much faster because you would then be querying an external service rather than the WP database.