Меня интересуют предложения по созданию эффективной и надежной структуры для индексации продуктов в новой базе данных, которую я создаю (я использую MySql)
Когда товар вводится через форму, меня интересуют три части для поиска.
- Название продукта
- Описание товара
- Метки
Наиболее важным является заголовок, за которым следуют теги и описание.
Я думал об использовании следующей структуры
CREATE TABLE `searchindex` (
`id` INT NOT NULL ,
`word` VARCHAR( 255 ) NOT NULL ,
`weighting` INT NOT NULL ,
`product_id` INT NOT NULL ,
PRIMARY KEY ( `id` )
)
Затем каждый раз, когда создается продукт, я разделяю заголовок, описание и теги (удаляя общие слова) и присваиваю им весовые коэффициенты.
Тогда тривиально выбрать слова и соответствующие продукты и упорядочить их по весу.
Есть ли лучший способ сделать это? Я был бы обеспокоен тем, что эта стратегия замедлится со временем и по мере заполнения базы данных.