фильтрация результатов поиска на сайте покупок - PullRequest
1 голос
/ 17 ноября 2011

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

В Категория телевизора Доступные фильтры: Type, Display Features, Display Size. В то время как в компьютерных аксессуарах, таких как клавиатура , доступны фильтры Type и Interface. и фильтры меняются для различных продуктов.

Фильтрация результатов по стоимости и марке может быть выполнена легко, поскольку в таблице есть отдельный столбец.

но как создать таблицу элементов, которые имеют различные типы нескольких фильтров, которые варьируются в зависимости от категории. Я предполагаю, что для каждого элемента будет столбец с именем filter. который содержит эти данные. Но лучше ли использовать фильтры, так как в столбце filter есть несколько фильтров.

1 Ответ

0 голосов
/ 17 ноября 2011

Наличие одного столбца, безусловно, не лучший способ, если у вас много данных. Как я полагаю, у вас может быть некоторая таблица tbl_product_filters с отношением M: 1 к вашему tbl_products, которая содержит имена фильтров и значения для каждого идентификатора продукта.

Что-то вроде:

CREATE TABLE `tbl_product_filters`
(
  `id` int(10) unsigned auto_increment PRIMARY KEY,
  `product_id` ...,
  `name` varchar(25) NOT NULL,
  `value` varchar(255)
)..;

Также можно нормализовать его и выделить имена фильтров как типы фильтров в отдельной таблице, чтобы заменить строку name на целое число type_id. Полагаю, это было бы быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...