Трябва ли да актуализирате структурата на дървото (т.е. да преместите маркер към друг родител)? Ако това е възможно, вграденият подход би станал труден, а релационният/нормализиран подход има повече смисъл.
Вероятно бих съхранил самите тагове в документа (вградени), но ако има някакъв шанс да преместя дървовидни възли онлайн, тогава бих съхранил йерархията в друг документ. Заявките не трябва да са бавни, ако първо изравните заявката за търсене (според текущото дърво) и след това търсите тези тагове. Този подход вероятно не се мащабира достатъчно добре, ако изравнената заявка за търсене в крайна сметка има стотици етикети в тях (колко високо е вашето дърво?).
Ако етикетите не могат да бъдат преместени към нови родители (или само от вас, по време на планирана поддръжка), продължете и вградете цялата йерархия.