I have a search-based website. It contains several search criterions which can be a little complex or convoluted. I have migrated all original client's data into Drupal nodes and taxonomies. Now my doubt is if I can rely on Views 3 + Filters + Contextual filters alone, or should I construct direct calls to the database via db_query, or, the most versatile and still Drupal-oriented idea, use the Views 3 with contextual filters, but altering the sql code with views_query_alter (for example, for converting "=" to "LIKE" for a filter). What would you recommend?