Подтвердить что ты не робот

Какие схемы тегов наиболее эффективны/эффективны?

http://tagging.pui.ch/post/37027745720/tags-database-schemas

Обработка тегов Stackoverflow является одним из лучших, что я видел до сих пор.

Кто-нибудь знает, если это шаблон схемы, я мог бы получить некоторые идеи?

В противном случае я просто ищу предложения о том, какие другие схемы тегов успешно реализованы.

4b9b3361

Ответ 1

Все зависит от объемов данных и содержимого для распределения тегов и коэффициентов плотности.

Если у вас низкий коэффициент распределения и плотности тегов (типичные данные, генерируемые человеком), вы можете просто создать уникальный идентификатор или хэш для каждой возможной коллекции тегов, используемых данными. Свяжите идентификатор коллекции тегов с каждым экземпляром данных с этими тегами

Это может работать на удивление хорошо для многих форм генерируемых человеком данных.

например. У Stackoverflow есть ~ 500 000 вопросов и ~ 20 000 тегов (слишком много тегов dupe-ish!). Большинство вопросов имеют менее пяти тегов. В худшем случае у вас будет идентификатор коллекции 500 000 "тегов", но более реалистично у вас будет несколько тысяч

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

например.

  • Тег: id, tagName
  • TagCollection: id, instanceCount
  • TagCollectionTag: tagCollectionIId, tagId
  • Данные: id, title, content, tagCollectionId

Вставка тегов выполняется быстро, если используется хеш (хеш для всех тегов коллекции). В противном случае вам придется искать коллекции TagCollection и TagCollectionTag, но в любом случае это не должно быть слишком большим.

Быстрый поиск; найдите TagCollectionTag для экземпляров, содержащих определенный набор тегов, а затем найдите строки данных с любым из этих tagCollectionId

Надеюсь, что это не было слишком запутанным: -)