Разные словари таксономии vs иерархия

Главные вкладки

Аватар пользователя alexo alexo 10 февраля 2021 в 17:26

Здравствуйте!
Я решаю, как лучше организовать таксономию для разных характеристик: в одном словаре? или в разных? Пытаюсь найти какое-то руководство с рекомендациями по выбору, но пока не нахожу.
А что Вы думаете о критериях выбора?
При условии, что термины будут выводиться в разных полях и потом нужно будет организовать расширенный поиск, как на Яндекс маркете по этим терминам, скорее всего с помощью вьюх, либо фасетов, как лучше делать.

Плюсы отдельного словаря:

Удобно его использовать, если нужно в каком-то поле термины брать только из одного словаря, если будет автокомплит, то меньше вариантов выбора лишних, тем более если будет список.

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

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

Но тут возникают возможные минусы
- потом сложнее будет делать расширенный поиск?

- сложнее будет использовать автоподсказки при создании нод (если тип поля автозаполнение), так как будет много лишних вариантов.

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

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

2 красных яблока
Цвет: красный
Название: фрукта яблоко 
Количество: 2

3 красных яблока
Цвет: красных
Название: фрукта яблоко 
Количество: 3

3 зеленых груши 
Цвет: зеленый
Название фрукта: груша 
Количество: 3

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

Комментарии

Аватар пользователя alexo alexo 14 февраля 2021 в 17:55

Добрый день! Попробую переформулировать:
1. Если нужно будет потом делать фильтрацию по наличию в материале нескольких терминов из полей из разных словарей, то можно ли это будет потом сделать вьюхами или фасетами, или как лучше?

2. Если всё же решу делать все термины в одном словаре с иерархией, то как-то реально на практике можно будет привязать к полю только часть этого словаря?

Аватар пользователя adano adano 14 февраля 2021 в 18:09
1

Ваш вопрос по структуре и на уровне теории, без какой-либо конкретики.
Советовать абсолютно нечего.

P.S. Один словарь, обычно выбирают ради shs, т.к. других альтернатив не знают.

Аватар пользователя alexo alexo 14 февраля 2021 в 18:32

Спасибо. Какая именно конкретика?

Вот пример такой:
Категория 1 Цвет
термин 1.1 красный
термин 1.2. зеленый

Категория 2 Форма
термин 2.1 круглый
термин 2.2. квадратный

Например, на выходе нужно найти все ноды, в который есть термины «красный» и «квадратный»

I. Вариант реализации 1

Словарь первый будет называться «Категория 1 - Цвет»
в нем будут термины
термин 1.1
термин 1.2.

Словарь второй будет называться «Категория 2 - Форма»
в нем будут термины
термин 2.1 круглый
термин 2.2. квадратный

II. Вариант реализации 2

Есть один словарь, в котором есть иерархия терминов, соответственно
верхние уровни иерархии — родительские термины
«Категория 1 — Цвет» и «Категория 2 - Форма»
а остальное их дочерние

Аватар пользователя adano adano 14 февраля 2021 в 18:47

Не нужна таксономия для атрибутов.
Таксономия - только там, где должна быть отдельная страница, сущность (например, брэнд). "Круглый", "черный" - это список и т.п.
Все остальное через вьюху делается, штатными методами. Хоть ноды, хоть фильтры, хоть отдельные страницы через контекстные фильтры.

P.S. "Красный айфон" и "красный смартфон" - это про "конкретику".

Аватар пользователя alexo alexo 14 февраля 2021 в 22:51

Спасибо. А если как атрибуты, то тип поля не "ссылка на термин"? А какой тогда тип поля делать?

В моем случае на самом деле, наверное всё же нужны именно термины, но просто не пойму, что имеете ввиду.
Конкретная задача сейчас: создается ручной каталог тематических материалов из разных источников.
В разные поля предполагается вносить разные характеристики (например, с какой персоналией связан материал, направление или жанр, тип источник(сайт, страница соцсети, книга) и т.д.), какие-то характеристики могут быть и сущностями, какие-то просто как атрибуты.

Аватар пользователя voviko voviko 15 февраля 2021 в 10:56
1

вот задачка
яблоки
-красные
Машины
-красные
те в один словарик всэ это засунуть нерационально
в поиск можно сделать по вьюхе, например /search/%/% где проверить на наличие двух терминов
можно сделать тегирование (автосоздание термина Яблоки красные)
фасеты при двух словарях будут работать намного лучше
делайте несколько словарей.

Аватар пользователя alexo alexo 15 февраля 2021 в 16:21

Спасибо.

в поиск можно сделать по вьюхе, например /search/%/% где проверить на наличие двух терминов

это самый предпочтительный вариант. Не могу найти обзор подробный, как views настраивать для такого поиска

можно сделать тегирование (автосоздание термина Яблоки красные)

спасибо. В конкретном случае, наверное, слишком много будет лишних терминов, потому что у меня предполагается слишком много сочетаний, могут быть термины их 3-4 словарей.

фасеты при двух словарях будут работать намного лучше

Фасеты буду пробовать, с ними опыта нет, планирую по этому от xandeadx обзору и этому на форуме делать, но тоже прошу посоветовать, если еще есть подробный tutrial.