如何解决使用Querybuilder从全文本搜索父路径中排除子路径,或者从XPATH / JCR SQL2查询中获取搜索结果摘录
我想使用querybuilder从搜索路径中排除子节点路径
例如-父文件夹为/ content / mysite / en
和子文件夹是
/ content / mysite / en / testfolder1
/ content / mysite / en / testfolder2
我希望查询构建器编写查询以排除这些路径
我已经看了这个问题-
AEM Query builder exclude a folder in search
但是对路径和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')
但现在的问题是,我们还需要由querybuilder api的SearchResult的匹配对象自动创建的搜索摘录-
hit.getExcerpt()
有没有办法我可以使用JCR / SQL2查询来摘录?
或者有一种方法可以使用querybuilder构建排除子文件夹查询;这样我就可以从结果中摘录?两种解决方案都可以解决我的问题。
如果任何人都有使用querybuilder排除子文件夹查询的经验;或使用JCR / SQL2查询构建搜索摘录;或与此案有关的其他任何想法/建议;帮助将不胜感激
解决方法
尝试path.exact = true下面是一个示例
没有path.exact = true
type=cq:Page
path=/content/wkndmuzik/us/en
with path.exact = true
type=cq:Page
path=/content/wkndmuzik/us/en
path.exact=true
path.exact = true:如果匹配正确的真实路径,则为false包括所有后代。
有关querybuider api的其他谓词,请访问blog of Hashim Khan
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。