2017-01-03 10 views
1

Возможно ли найти одноименную сестру (SNS) с использованием JCR-SQL2, JCR-SQL или QueryBuilder в Adobe CQ5/Adobe Experience Manager. Я пытаюсь соответствовать этим узлам с запросом, имеющим следующие критерии без необходимости проходить весь репозиторий (медленно и долго работает операция):Как запросить Jackrabbit для такого же имени siblings

if(node.getIndex() > 1) { 
    // this node is matching the SNS criteria 
} 

SNS определяется следующим образом:

/a/b/c 
/a/b/c[2] 
/a/b/c[3] 

/a/b[2]/c[2] 
/a/b/c[3] 

/a/d/f 
/a/d/f[2] 

Таким образом, результат запроса должен включать/a/b/c [2],/a/b/c [3],/a/b [2]/c [2],/a/b/c [3] ,/a/d/f [2].

ответ

2

Adobe опубликовал полезную статью для этого на:

https://helpx.adobe.com/experience-manager/kb/find-sns-nodes.html

EDIT: Один запрос для этого может быть, как показано ниже:

SELECT [jcr:path] FROM [nt:base] WHERE ISDESCENDANTNODE('/') AND [jcr:path] like '%\]'

Идея заключается в том, что дубовые запросы будут способных находить индексированные узлы, которые были перенесены через логику разрешения SNS. Эти имена будут содержать ] в их именах (пути для URI), которые будут выбираться с помощью вышеуказанного запроса.

Используйте этот вопрос с осторожностью, так как существует множество системных узлов OOTB, которые имеют] имя и это по дизайну.

Вы можете изменить [nt:base] на другой соответствующий индекс дуба для лучшей фильтрации.

HTH

+0

Я знаю эту статью, но я надеялся, что есть альтернативное решение с запросом. Когда размер репозитория находится в ТБ, такое обходное решение является убийцей и очень трудоемкой задачей. – d33t

+0

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

+0

Я нашел это решение недавно, спасибо за помощь! – d33t

 Смежные вопросы

  • Нет связанных вопросов^_^