Спасибо за интересный вопрос. Ваш Интернет-магазин действительно сделан достаточно профессионально, но с системой поиска имеется загвоздка. Она вызвана именно строгим следованием слов в официальных наименованиях товарных позиций. Это привычно и удобно менеджеру по продажам, но никак не рядовому покупателю. Ситуация весьма неоднозначная.
При создании сайта наиболее важным, определяющим требования документом является именно техническое задание. Поэтому, если в техническом задании на разработку интернет-магазина, не имеется заявленного требования к произвольному порядку следования слов в режиме поиска, то студия разработчик правомерно пытается получить дополнительные деньги за дополнительные работы.
Однако стоимость и трудоемкость данной работы зависит от квалификации специалистов. Действительно, научный характер у проблемы поиска по сочетанию слов во фразе имеется. Именно комбинаторика (количество комбинаций следования слов во фразе) и является причиной усложнения алгоритма. Поэтому разработчики сайта пошли по этому научному пути и представили сложность задачи в алгоритме перебора всех вариантов следования слов поисковой фразы. Таким образом:
если заданы два слова - нужно учесть сочетаний = 2
если 3 = сочетаний 9
если 4 = сочетаний 16
... и так далее...
В результате оказалось, что механизм реализации поиска чрезвычайно усложняется и, действительно, приобретает исключительно научный характер. Поэтому мы настоятельно рекомендуем решить эту проблему другим способом. При этом трудоемкость внесения изменений в структуру интернет-магазина оцениваем в два рабочих дня.
Для решения задачи следует:
- исключить из поисковой фразы все спецсимволы (кавычки, апострофы, тире..)
- разбить поисковую фразу на слова, которые занести в одномерный массив mas[]
- пробежаться в цикле по всем элементам массива и склеить сроку вида
(product like mas[1]) and (product like mas[2]) ... (product like mas[N])
При этом необходимо учесть подстановку данных и символы шаблонов.
- Полученную строку приклеиваем в режиме конкатенации к поисковому запросу
- Выполняем запрос и показываем результат поиска.
Этот алгоритм гарантирует корректный поиск по ассортименту по любому сочетанию указанных посетителем магазина слов в поисковой фразе.
Если разработчики вашего Интернет-магазина не захотят реализовать механизм поиска по данному компактному алгоритму (это займет всего пару дней) и уменьшать бюджет раз в десять, тогда будем рады оказать Вам услугу модернизации сайта.
Владимир Кошин Руководитель и консультант студии веб-дизайна "Жанр"
|