Буду рад любой информации относительно алгоритмов поиска по тегам.
Поиск по тегам |
Поиск по тегам |
klem4 |
Сообщение
#1
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Буду рад любой информации относительно алгоритмов поиска по тегам.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Немного объясню что имеется в виду на примере:
Каждой записи а базе данных неких товаров (например одежды), помимо общей информации (мужская, женская, обувь, спортивная и т.д.), соответствует и некое дополнительное описания (экстравагантная яркая сумка из змеиной кожи) Вот из этого дополнительного описания мы выделяем слова экстравагантная, яркая, змеиной кожи в общий словарь тегов и словарь тегов относящихся конкретно к этому товару, то есть при поиске по тегу яркая информация об этом товаре должна попасть в набор данных. Так же необходимо предусмотреть замену тегов, то есть скажем тег яркая = (яркий, контрастный,контрастная, земетный ...) Вот интересно какбы это реализовать структуру хранения данных, чтобы поиск был максимально быстрым и полным. Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
andriano |
Сообщение
#3
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Структура данных подбиратся, исходя из требований по соотношению производительности различных операций.
Насколько я понял из условия, поиск - процедура намного более частая, чем вставка нового объекта. В этих условиях хорошим вариантом будет упорядоченный по алфавиту массив (поиск O(log(n)), вставка O(n)). Каждый объект - ключевое слово(строка) + список синоимов(указатель). Сообщение отредактировано: andriano - |
Текстовая версия | 22.12.2024 9:59 |