172 похожих чатов

Опытные ребята, подскажите пожалуйста есть таблица юзеров и таблица интересы (m2m)



задача сортировать юзеров по количеству совпадений интересов

для юзера Миша, остортировать остальных юзеров по количеству совпадающих интересов

это возможно решить силами постгресс нормально или лучше взять что то другое?

9 ответов

13 просмотров

" количеству совпадений интересов" - интересы всех юзеров со всеми юзерами? Т.е. надо сравнивать каждый с каждым? Обычно SQL такого не любит и запросы такие выполняются достаточно долго и требуют много памяти. Но сделать реально.

Stan-Осычнюк Автор вопроса
v8usr
" количеству совпадений интересов" - интересы всех...

так и есть да, я реализовал это уже, но думаю что если юзеров будет более 100к то начнуться проблемы и партицирование тут вряд ли поможет(( в постгресс 9 существовал экстеншн для такого ордеринга, но как я понял он не поддерживается и его особо нигде уже и нет потому вот такой вопрос задаю) эластик лучше попробовать?

Stan Осычнюк
так и есть да, я реализовал это уже, но думаю что ...

По сути задача сводится к созданию уникальных ХЭШей групп (уникальных наборов интересов) и определение пользователей в эти группы, затем просто сортируешь по группе с самым большим количеством интересов или пользователей в группе.

Stan-Осычнюк Автор вопроса
v8usr
По сути задача сводится к созданию уникальных ХЭШе...

не совсем понятно на самом деле юзер 1 - интересы 1, 12, 24 юзер 2 - интересы 1 юзера 3 - интересы 1, 24 хеши будут разные, группа одна как по этим хешам будет проводится сравнивание того что выше в поиске?

Stan-Осычнюк Автор вопроса

так и есть да, я реализовал это уже, но думаю что если юзеров будет более 100к то начнуться проблемы и партицирование тут вряд ли поможет((

Stan Осычнюк
так и есть да, я реализовал это уже, но думаю что ...

Тогда начни группировать не от пользователя от от группы. Просто посчитай сколько пользователей в каждой группе. Отсортируй группы по количеству пользователей.

Stan Осычнюк
так и есть да, я реализовал это уже, но думаю что ...

значит вам надо сохранять эту информацию в отдельную таблицу при изменении пользователя, а не вычислять на лету

Stan Осычнюк
всех для всех?

по которой можно будет сделать нужный вам order by по индексу

Похожие вопросы

Обсуждают сегодня

зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Желаю получить совет от великих ботмейкеров которые успешно поднимали ботов на несколько тысяч одновременно активных юзеров Какая чушь нужна людям прямо сейчас, и что стоило ...
ռɛ ʋɛʀʍօʀɛ
6
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Карта сайта