Уже давно размышлял над алгоритмом поиска информации на сайте. Хотелось сделать его простым, но эффективным.
С отбором по различным метаданным.
Но сомневался в части того как совместить условия отбора? Через и, а может через или?
И подсказка оказалась в самом ядре WordPress. То как его поиск работает из коробки — уже то что нужно.
Например забейте в этом блоге запрос «продажа» и найдете кучу статей. Все логично.
Если хочется вообще о продажах все, то уберите окончание и получите «продаж» — на много больше материалов.
Но хочется о продажах и мотивации? Нет проблем — добавьте слово «мотив» и получите уточнение отбора.
Но добавьте «продажи«, «мотив» и «полиуритан» — и уже материалов не будет.
По сути логика простого поиска сводится к тому, чтобы проверить материалы на наличие указанных данных.
Такой алгоритм поиска проще, но он повышает требования к пользователю. Пользователь должен быть с головой.
На мой взгляд в этом отличие Яндекса от Гугла. Гугл ищет примерно так и заставляет думать того кто ищет. И результаты его выдачи на много точней и полезней зачастую.
Яндекс же на против пытается думать за того кто ищет, его алгоритм на много сложнее и зачастую он находит всякую фигню, кроме того что нужно.
Какой из этих вариантов поиска лучше? Мне кажется что тот который проще, но требовательней к пользователю.
И именно его мы будем реализовывать в своей системе.
Система не должна думать, она должна выдавать результаты запросов. Подумать над запросом — задача пользователя. Попытка сломать эту схему — приводит к печальным последствиям.
ИМХО.