@brainflow

Какую схему БД выбрать для hashtag'ов всего?

Есть социальная сеть, там есть разный контент: посты на стене, комментарии, видео(с описанием), фото, сообщения.
Для всех типов контента пользователь может написать #хештег.
При вводе #хештег в поиске должен быть поиск по всем типам контента.

Подскажите, пожалуйста, как это лучше всего организовать на уровне бд(используем postgresql).
Как самое очевидное решение:
  • Таблица с контентом
  • Таблица с тегами
  • Таблица связи теги с контентом tag_id -> content_id
  • На фронтенде или бекенде преобразуем #хештег в ссылку


Чем не нравится, при добавлении поста в котором будет 50 тегов, придется делать 50 запросов на поиск тегов таблице тегов, потом 50 вставок в таблицу связей, в идеале еще счетчики обновлять, но это можно убрать в фон.

Может подскажите более стройное решение.
На SOF нагуглил только это:
stackoverflow.com/questions/9282091/best-way-to-ma...
stackoverflow.com/questions/48475/database-design-...
  • Вопрос задан
  • 349 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mistergonza
PHP6 evangelist
Я конечно не спец в Postgres, как вариант можно для тегов использовать поле типа json в таблице с контентом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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