Я пытаюсь найти пользователь с аналогичным набором интересов, со следующей схемой ..Matching интересов (ближайший сосед) в SQL
USERS - ID name etc
Interests - ID UID PID
где ID это уникальный идентификатор для интересов, УИС идентификатор пользователя и PID - это идентификатор продукта. Я смотрел на другие подобные вопросы в SO, но ни у одного из них не было точного ответа.
ПРИМЕР- Допустим, я заинтересован в том, чтобы пользователи с подобным интересом к Джону, и это как две таблицы выглядят как ...
ID Name
11 John
12 Mary
13 Scott
14 Tim
ID UID PID
3 12 123
4 12 231
5 12 612
6 13 123
7 13 612
8 14 931
9 14 214
10 11 123
11 11 231
12 11 781
13 11 612
Я хотел бы результат с в таком порядке.
Я думал о том, чтобы сделать множество пересечений пользователей, которых я интересую со всеми другими пользователями. Это не очень хорошее решение, потому что это нужно делать каждый раз, когда пользователь добавляет интерес или добавляется другой пользователь. Это небольшой проект, и на данный момент я ограничу пользователей до 100. Я все еще думаю, что вышеупомянутый подход не будет эффективен вообще, так как потребуется 100 времени.
Может ли кто-нибудь вести меня в правильном направлении? Каковы возможные решения, и какой из них будет лучшим с вышеуказанными ограничениями. Я смотрю ANN, чтобы узнать, могу ли я это использовать.
Если «аналогичный интерес» может быть определена как количество совпадающих идентификаторов продуктов, то вам не нужно ANN ... – luksch