После напрасных поисков в Интернете, я решил обратиться на форум, потому-что ответа я не нашел.
Вопрос в чем: решил я сделать каталог электроники, например возьмем мониторы (http://www.citilink.ru/catalog/monitors/), и столкнулся с проблемой организации поиска по каталогу.
А именно не совсем понятны следующие моменты:
1) Чтобы запросы к БД исполнялись быстро, нужно проиндексировать все товары и результаты хранить в базе, и при указании различный критериев поиска, выводить уже готовый результат. Методом перебора при указании уже от 1 до 20 критериев, количество вариантов сотня тысяч. А еще результаты нужно где-то хранить. А я видел 50 и больше критериев поиска, как быть, в каком виде должны сохранятся результаты индексирования ?
2) Какая БД и какие сервера используются для создания такого каталога ?
3) Буду благодарен за любую полезную инфу. Или может я не совсем правильно понимаю весь механизм каталога ?
Спустя 11 минут, 32 секунды (14.02.2011 - 19:05) waldicom написал(а):
При большом, а главное при разном количестве атрибутов у различных товаров можно подумать в сторону EAV или NoSQL.
Спустя 22 часа, 31 минута, 30 секунд (15.02.2011 - 17:36) victoriaff написал(а):
Я тут подумал, кое с кем пообщался, и остановился на следующем варианте:
1) Использовать БД MySQL. Тип таблиц MyISAM.
2) Для каждой категории товара отдельная таблица в БД
3) Продуманно построить индексы для таблиц БД
4) Все запросы к БД строить на лету. Хотя их будет достаточно много (10-30), но из-за малого размера таблиц, БД не должна тормозить. А если вдруг и будет, перейду на серъезное железо.
Какие плюсы:
1) Не нужно будет постоянно переиндексировать каталог при добавлении нового товара или редактировании.
2) Проще в обслуживании (чем проще, тем лучше)
Всем спасибо за помощь.
З.Ы.
А почему это не теория программирования ?
1) Использовать БД MySQL. Тип таблиц MyISAM.
2) Для каждой категории товара отдельная таблица в БД
3) Продуманно построить индексы для таблиц БД
4) Все запросы к БД строить на лету. Хотя их будет достаточно много (10-30), но из-за малого размера таблиц, БД не должна тормозить. А если вдруг и будет, перейду на серъезное железо.
Какие плюсы:
1) Не нужно будет постоянно переиндексировать каталог при добавлении нового товара или редактировании.
2) Проще в обслуживании (чем проще, тем лучше)
Всем спасибо за помощь.
З.Ы.
А почему это не теория программирования ?