Уже давно размышлял над алгоритмом поиска информации на сайте. Хотелось сделать его простым, но эффективным.

С отбором по различным метаданным.

Но сомневался в части того как совместить условия отбора? Через и, а может через или?

И подсказка оказалась в самом ядре WordPress. То как его поиск работает из коробки — уже то что нужно.

Например забейте в этом блоге запрос «продажа» и найдете кучу статей. Все логично.

Если хочется вообще о продажах все, то уберите окончание и получите «продаж» — на много больше материалов.

Но хочется о продажах и мотивации? Нет проблем — добавьте слово «мотив» и получите уточнение отбора.

Но добавьте «продажи«, «мотив» и «полиуритан» — и уже материалов не будет.

По сути логика простого поиска сводится к тому, чтобы проверить материалы на наличие указанных данных.

Такой алгоритм поиска проще, но он повышает требования к пользователю. Пользователь должен быть с головой.

На мой взгляд в этом отличие Яндекса от Гугла. Гугл ищет примерно так и заставляет думать того кто ищет. И результаты его выдачи на много точней и полезней зачастую.

Яндекс же на против пытается думать за того кто ищет, его алгоритм на много сложнее и зачастую он находит всякую фигню, кроме того что нужно.

Какой из этих вариантов поиска лучше? Мне кажется что тот который проще, но требовательней к пользователю.

И именно его мы будем реализовывать в своей системе.

Система не должна думать, она должна выдавать результаты запросов. Подумать над запросом — задача пользователя. Попытка сломать эту схему — приводит к печальным последствиям.

ИМХО.