Я думаю, что ваши требования хороши. Возьмите реплику от Google. Google понял это правильно. Одно текстовое поле, в котором вы вводите все, что хотите, и ваш движок выплевывает ответы. Большинство людей попробуют это, и если ответы достаточно хороши, то это то, что они будут использовать. В конце концов, вы, вероятно, захотите сгладить все данные в большую таблицу honkin ', а затем проиндексировать ее или использовать запрос SQL с "LIKE" в нем.
Однако вы, вероятно, захотите разрешить пользователю уточнить поиск. Для этого имейте ссылку на «Расширенный поиск» и используйте форму там, чтобы указать критерии фильтрации. Это позволяет пользователю сосредоточиться на результатах, если базовый поиск не достаточно хорош. Для результатов на этой странице вам, безусловно, потребуется сортировка по ключевым полям, но сделайте это после того, как вы создали исходный набор результатов.