Рейтинг:-1

Должен ли я использовать ссылку на объект для узлов или терминов таксономии?

флаг tr

Я имею дело с типом контента завода, который в настоящее время содержит поле абзаца. Параграф содержит ссылку на сущность Распространенное имя и Источник текстовое поле (с настройкой для создания, если оно еще не существует). Моя причина в том, что общие названия могут применяться ко многим растениям.

Прежде чем я добавлю данные, мне интересно, лучше ли использовать таксономические термины для общеупотребительных имен. Занимают ли узлы меньше памяти, чем термин таксономии? Мне не нужно больше полей, чем поле body, которое существует в обоих случаях.

Мне не нужна никакая иерархия. Мне нужен простой способ создавать, ссылаться и просматривать страницы для этого распространенного имени и отображать любое связанное научное имя.

Рейтинг:2
флаг us

Какой объект использовать в поле ссылки, зависит от того, какие функции вам понадобятся или будут реализованы.Основная цель терминов таксономии — фильтрация списка сущностей на основе используемых ими терминов таксономии.

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

  • Узлы хранят ссылку на создавшего их пользователя.

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

  • Узлы не имеют веса или родительского узла

    Термины таксономии имеют вес и родительский термин таксономии (используемый для иерархий).

  • Узлы позволяют восстановить предыдущую ревизию

    Пользовательский интерфейс для восстановления предыдущей версии термина таксономии все еще не реализован. [PP-1] Добавлен интерфейс редакции для терминов таксономии. исправит это, но теперь это отложено 4 года назад.

  • Существуют модули, которые добавляют функции, связанные с узлами, но не с терминами таксономии.

    Например, Статистика модуль регистрирует статистику содержания, но не статистику терминов таксономии; в История модуль записывает, какой пользователь прочитал какой контент, но он не делает того же для страниц таксономии (страниц, отображающих список сущностей, использующих термин таксономии). Существуют и другие модули, которые могут потребовать использования узлов вместо терминов таксономии.

Рейтинг:0
флаг cn

Неясно, говорите ли вы о «памяти» в смысле ОЗУ/производительности или хранилища.

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

Например, с Теги словарь таксономии, который поставляется с ядром Drupal, у вас могут быть тысячи тегов на дешевом виртуальном хостинге, и у вас вряд ли возникнут проблемы с производительностью из-за таксономии.

Что касается хранения, хранение таксономии занимает немного больше места, чем добавление Распространенное имя поле к содержимому и размещение всех данных там. Это занимает больше места, потому что вам нужно создавать объекты, которые имеют идентификатор объекта и так далее. Тем не менее, это, как правило, незначительно, и не о чем беспокоиться — создание поля вместо таксономии значительно усложнит просмотр общих имен и добавление дополнительной информации о них.

turpentyne avatar
флаг tr
Извините, я не уточнил: я имею в виду память для хранения, я уже имею дело с 300 000 узлов в базе данных, размер которой превышает гигабайт. Общее имя в настоящее время является собственным типом контента, а не просто полем.
флаг cn
@turpentyne Тогда вам следует использовать таксономию вместо типа контента, если у вас нет особых причин не делать этого. Таксономия, как следует из названия, предназначена для группировки вещей. Кроме того, накладные расходы на хранение для таксономии должны быть немного меньше, чем для узлов, потому что в таксономии меньше данных, отслеживаемых в базе данных (например, даты создания и авторы не записываются). Но на самом деле это не большая разница в любом случае.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.