当前位置: 首页 > 知识库问答 >
问题:

使用Querybuilder从全文搜索父路径中排除子路径,或从XPATH/JCR SQL2查询中获取搜索命中摘录

毛勇
2023-03-14

我想使用querybuilder从搜索路径中排除子节点路径

例如,父文件夹是/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')

但是现在的问题是,我们还想要由queryBuilder api的SearchResult命中对象自动创建的搜索摘录-

hit.getExcerpt()

那么,有没有一种方法可以使用JCR/SQL2查询获取摘录?

或者有没有一种方法可以使用queryBuilder构建排除子文件夹查询;这样我就可以从结果中获取摘录?这两种解决方案都可以解决我的问题。

如果有人有使用queryBuilder排除子文件夹查询的经验;或者使用JCR/SQL2查询构建搜索摘录;或者任何其他想法/建议;将非常感谢帮助

共有1个答案

高功
2023-03-14

试试path.exact=true下面是一个例子

没有路。准确的

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

用path.exact=真

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

path.exact=true:如果true精确路径匹配,如果false所有子代都包括在内。

有关querybuider api的其他谓词,请访问Hashim Khan的博客

 类似资料:
  • 使用 echo $PATH ,可以显示 $PATH 变量,输出如下: /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/bin/X11 /usr/games /usr/X11R6/bin 它是一个环境变量,代表执行命令时,Shell 的搜索路径。 执行一个命令时,Shell 会到 $PATH 变量定义的路径去搜索

  • 在SublimeText 2中,我可以执行以下操作:<code>cmd t</code> 然后键入文件名或文件夹名,显示的结果是与我正在搜索的术语匹配的文件,以及位于我正在搜索的术语的子文件夹中的文件,例如,如果我的目录结构如下所示: 我可以做命令 和类型和唯一的两个选项,将显示将是和文件,我可以键向下导航或键入添加更多的搜索词和唯一的选项将是 如何在RubyMine中获得相同的功能

  • 输入出发地和抵达地,可搜索前往目的地的路径。 轻触(选项)>[搜索路径],在出发地与抵达地的字段各自输入关键词并轻触[搜索]。地图会显示最短路径。 可从书签中选择出发地及抵达地。请轻触(书签),选择地点。 A ) (徒步)/(乘车) 可选择路径的移动方式。轻触即会以选择的移动方式搜索最短路径。 B ) 与目的地间的距离及所需时间 C ) (显示列表)/(隐藏列表) 轻触即可将搜索结果列表切换为显示

  • 问题内容: 说我有一个边列表,每个边包含两个节点(到和从)。找到两个给定节点的边缘的最佳方法是什么?请注意,边缘的节点可能会重复。 假设我在这种格式下具有优势: 1 <-> 5 3 <-> 7 5 <-> 6 2 <-> 6 然后,诸如1 5的查询将返回 true 。 然后,诸如5 2之类的查询将返回 true, 因为5连接6并且6连接至2。 然后,诸如1 7的查询将返回 false 。 然后,诸

  • 回到Jooq2.5,看起来可以通过FactoryOperations类设置PostgreSQL搜索路径,但Jooq3.5中没有该类。显然,FactoryOperations分为DSL和DSLContext,但我似乎找不到use(Schema)方法的结尾。如何在较新版本的jOOQ中设置PostgreSQL搜索路径?

  • 有没有办法让打字稿编译器在给定的目录中搜索声明文件?类似于C的INCLUDE_PATH。