Найти - Пользователи
Полная версия: теги
Начало » Python для экспертов » теги
1 2 3 4 5 6
Lexander
o7412369815963
данный алгоритм не даст требуемого результата.
Ты про второе условие в первом посте: количество связанных объектов с учетом фильтра?
o7412369815963
Lexander
o7412369815963
данный алгоритм не даст требуемого результата.
Ты про второе условие в первом посте: количество связанных объектов с учетом фильтра?
ога, ну или хотя бы 1. просто фильтрация тегов. я пока что придумал на графах, но там сложный и медленный алгоритм.
просто фильтрация - не простая задача как кажется.
o7412369815963
Ed
Если хотите помощи, то объясняйте свои … мнэ … выводы? догмы?.
>можно, например, хранить их в той же базе в виде tag:<tag name> - количество оттеженых документов и обновлять при любом изменении
т.е. таблица:
python - 5
asm - 3
c++ - 4

из этой таблицы не видно связи между тегами
Ed
связи там и не нужны. Эту таблицу я предлагал использовать для хранения и выдачи статистики верхнего уровня. Это позволит не пересчитывать ее каждый раз, когда нужно ее вывести.
o7412369815963
а вот пример почему простые графы неработают:
E1,E2,E3… - это элементы
A,B,B,D… - теги
1 таблица - исходные данные, у элемента E1 теги A,B,C
2 т. - неориентированный граф, связь каждого тега с другими тегами
3 (левая) т. - пример фильтрации по тегу С, при этом должны остаться теги: A1, B2, D2, E2, F1, G1 - нижняя строка, число указывает на кол-во
это все норм, но если выбрать фильтр по 2-м тегам или более, то из этого графа уже не вынуть такую информацию.
пример 3 (средняя табл.) - фильтр по тегам C и D, должны остаться теги B1, E1
вот так вот…
o7412369815963
Ed
связи там и не нужны. Эту таблицу я предлагал использовать для хранения и выдачи статистики верхнего уровня. Это позволит не пересчитывать ее каждый раз, когда нужно ее вывести.
тогда надо было подписать “верхнего уровня”,
с верхним уровнем проблем нет.
Ed
Я подумал, что как раз на верхнем уровне наибольший объем вычислений, а затем он резко сокращается. Нет?
o7412369815963
Ed
Я подумал, что как раз на верхнем уровне наибольший объем вычислений, а затем он резко сокращается. Нет?
верхний уровень легко закешировать, 1 фильтр можно на графах решить.
проблема с фильтром из 2-х тегов и более
Ed
Еще одна идея - хранить связи и статистику между тэгами на верхнем уровне в виде:
{tag: (count, )},
где count - общее количество объектов, оттэженых тэгом tag
count1 - количество объектов, оттэженых тэгами tag и tag1
count2 - количество объектов, оттэженых тэгами tag и tag2
и так далее.
Обновление такой структуры при добавлении/удалении тэга не составит труда, а в качестве бонуса у нас быстрое вычисление тэгов и их связей на любом уровне.
o7412369815963
Ed
Еще одна идея - хранить связи и статистику между тэгами на верхнем уровне в виде:
{tag: (count, )},
где count - общее количество объектов, оттэженых тэгом tag
count1 - количество объектов, оттэженых тэгами tag и tag1
count2 - количество объектов, оттэженых тэгами tag и tag2
и так далее.
Обновление такой структуры при добавлении/удалении тэга не составит труда, а в качестве бонуса у нас быстрое вычисление тэгов и их связей на любом уровне.
это и есть простой граф который я выложил выше в посте 35, из него не получить фильтр по 2-м тегам
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