Вставьте "теги Umbraco" с помощью события "Сбор данных узла".
У меня есть Тип Документа Статьи - Два свойства являются многоузловыми сборщиками деревьев.
Когда узел этого типа документа сохранен / опубликован, я хочу получить идентификаторы от этих сборщиков, которые ищут в umbraco имена узлов. Затем я хочу использовать эти имена узлов для создания тегов Umbraco и добавления их в индекс. (против сохраняемого узла)
Поскольку у меня есть два многоузловых средства выбора дерева, я хочу сохранить теги как группы тегов.
Это так, когда я выполняю пользовательский поиск по индексу, мне нужно искать только те узлы, которые имеют тип документа Article.
У меня настроено и работает событие GatheringNodeData, поэтому просто нужен совет о том, как это делается.
Это возможно / логично?
1 ответ
Это конечно возможно! В вашем событии GatheringNodeData вам просто нужно создать поля тегов и добавить их в индекс. Вот примерный код, который должен дать вам представление о том, как это сделать:
private void OnGatheringNodeData(object sender, IndexingNodeDataEventArgs e)
{
// Create searchable path
if (e.Fields.ContainsKey("tagsField"))
{
//get the info that you need here and add it to the string you want to index
}
// Extract the filename from media items
e.Fields.Add("modifiedTags", "YOUR STRING HERE");
}
Затем вы можете выполнить поиск по тегу в поле "измененные теги". Единственная проблема, с которой вы можете столкнуться, это наличие у вас тега, который содержит другой тег. Например, если у вас есть теги "Мой тег" и "Мой тег 2", поиск "Мой тег" в новом поле вернет элементы, отмеченные обоими тегами.