Исключить дочерний путь из родительского пути полнотекстового поиска с помощью Querybuilder ИЛИ получить отрывок результатов поиска из запроса XPATH / JCR SQL2

Я хочу исключить путь дочерних узлов из пути поиска с помощью конструктора запросов

например - родительская папка / content / mysite / en

и вложенные папки

/ content / mysite / en / testfolder1

/ content / mysite / en / testfolder2

Я хочу, чтобы построитель запросов написал запрос для исключения этих путей

Я уже смотрел на этот вопрос -

Конструктор запросов AEM исключает папку из поиска

но группировка путей и p.not = true, похоже, не работает должным образом

Я знаю, что написать такой запрос с помощью построителя запросов немного сложно; поэтому я использую запрос JCR / SQL2 -

с использованием

SELECT * FROM [cq:Page] 
WHERE ISDESCENDANTNODE(page,'/content/mysite/en') 
AND CONTAINS(*, 'fulltext') 
AND NOT ISDESCENDANTNODE(page, '/content/mysite/en/testfolder1') 
AND NOT ISDESCENDANTNODE(page, '/content/mysite/en/testfolder2')

но теперь проблема в том, что нам также нужен отрывок из поиска, который автоматически создается объектом попадания SearchResult в querybuilder api -

hit.getExcerpt()

так есть ли способ получить отрывок с помощью запроса JCR / SQL2?

ИЛИ есть ли способ создать запрос исключения подпапки с помощью querybuilder; чтобы я мог получить выдержки из результатов? Оба решения решат мой случай.

Если у кого-то есть опыт исключения запроса подпапки с помощью querybuilder; или построение отрывка поиска с использованием запроса JCR / SQL2; или любая другая идея / предложение по этому делу; помощь будет очень признательна


person cqsapientuser    schedule 11.11.2020    source источник


Ответы (1)


Попробуйте path.exact = true. Ниже приведен пример.

без пути.exact = true

type=cq:Page
path=/content/wkndmuzik/us/en

вывод:  введите описание изображения здесь

С path.exact = true

type=cq:Page
path=/content/wkndmuzik/us/en
path.exact=true

Вывод:  введите описание изображения здесь

path.exact = true: если true, то соответствует точный путь, если false, включены все потомки.

Чтобы узнать о других предикатах в API querybuider, посетите блог Хашима Хана

person Sadistic    schedule 11.11.2020