IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Поиск по тегам
сообщение
Сообщение #1


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Буду рад любой информации относительно алгоритмов поиска по тегам.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Немного объясню что имеется в виду на примере:

Каждой записи а базе данных неких товаров (например одежды), помимо общей информации (мужская, женская, обувь, спортивная и т.д.), соответствует и некое дополнительное описания (экстравагантная яркая сумка из змеиной кожи) Вот из этого дополнительного описания мы выделяем слова экстравагантная, яркая, змеиной кожи в общий словарь тегов и словарь тегов относящихся конкретно к этому товару, то есть при поиске по тегу яркая информация об этом товаре должна попасть в набор данных.

Так же необходимо предусмотреть замену тегов, то есть скажем тег яркая = (яркий, контрастный,контрастная, земетный ...)

Вот интересно какбы это реализовать структуру хранения данных, чтобы поиск был максимально быстрым и полным.

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Структура данных подбиратся, исходя из требований по соотношению производительности различных операций.
Насколько я понял из условия, поиск - процедура намного более частая, чем вставка нового объекта. В этих условиях хорошим вариантом будет упорядоченный по алфавиту массив (поиск O(log(n)), вставка O(n)).
Каждый объект - ключевое слово(строка) + список синоимов(указатель).

Сообщение отредактировано: andriano -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.10.2020 7:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name