Найти - Пользователи
Полная версия: теги
Начало » Python для экспертов » теги
1 2 3 4 5 6
o7412369815963
нужно сделать “мульти” теги, сложность в том что нужно делать логическое перемножение тегов:
например открываем главную страницу - вываливаются все 100 тегов,
выбираем тег “Python”, облако зауживается и при этом должны остаться только те теги которые использовались вместе с тегом “Python”,
далее можно ещё выбрать тег из оставшихся который так же будет заужать облако и так далее.

в принципе это можно сделать на графах, но есть ещё требование: нужно у каждого тега выводить кол-во объектов которые с ним связаны, например у предыдущего примера у тегом “encode” помечено 250 объектов, жмем на тег “Python”, у тега “encode” остается 80 объектов т.е. в этих 80 объектах есть оба этих тега (“encode” и “Python”).

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

есть у кого какие идеи или полезные ссылки по данной теме?
poltergeist
Рекомендую воспользоваться этим: http://lucene.apache.org/solr/
И почитать в интернетах про фасетную навигацию. Подобная навигация используется в нормальных интернет-магазинах, и тут как раз такой же случай: теги - это фасеты, по которым надо фильтровать результат.
o7412369815963
это не совсем то, тут фильтрация по категориям и работа со “статическими” данными, а у меня нет категорий (одно облако) и данные динамические (могут меняться несколько раз в минуту)
Lexander
o7412369815963
данные динамические (могут меняться несколько раз в минуту)
Только добавляться или удаляться (старые, например) тоже?

Вообще тема интересная.
Решение, как обычно, зависит от используемых инструментов. Например, где хранить тэги.
Уточни, плз, объем обрабатываемых данных. А то миллион объектов…
Сколько объектов, сколько тэгов всего, сколько тэгов для каждого объекта, сколько тэгов можно одновременно выбрать из облака (кол-во фильтров)?..

Одно из простых решений - http://www.simplecoding.org/kak-sozdat-oblako-tegov-dlya-svoego-sajta.html
Только у тебя запросы будут другие.
Не подходит?
Zubchick
На графах могу предложить так:
Есть три статьи на сайте у каждой по одному уникальному тегу:

Затем добавляется статья с тегами “python”, “ruby”, “разработка”

затем “разработка”, “python”


И так далее, думаю мысль с расстановкой весов понятна :)
poltergeist
o7412369815963 Всё не правда, всё не так поняли. Категория это тот же тег, объект просто входит в несколько категорий (имеет несколько тегов). Solr - это поисковик, заточенный под поиск по фасетам (тегам, категориям). Также он может выдавать количество объектов для каждого фасета. Как и у всех, в Solr-е есть индекс, который очень просто обновляется при каждом изменении (тег добавили/убрали или новый объект появился), так что любые динамические данные для него не проблема.
Lexander
poltergeist
Ну зачем для этой задачи сервер полнотекстового поиска? Да еще и XML, HTTP…
o7412369815963
Zubchick
На графах могу предложить так:
у каждого объекта несколько тегов, графы “пролетают”,
можно конечно на графах сделать, но алгоритм будет отстойный (на каждом ребре нужно хранить все объекты)
o7412369815963
Lexander
Одно из простых решений - http://www.simplecoding.org/kak-sozdat-oblako-tegov-dlya-svoego-sajta.html
Только у тебя запросы будут другие.
Не подходит?
совсем не подходит, т.к. нужно в дальнейшем выбирать несколько тегов, а не один
Lexander
Я же написал - другой запрос.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB