Java 限制默认cq5搜索中的错误页面

Java 限制默认cq5搜索中的错误页面,java,javascript,aem,Java,Javascript,Aem,我正在使用CQ5开箱即用搜索组件。我的问题是搜索结果中显示了错误页面 我可以知道如何限制在搜索中显示错误页面吗。 是否需要为页面添加一个新属性,以便QueryBuilder可以对其进行限制?在配置搜索结果组件实例的对话框(位于搜索结果页面上)中,查找名为“搜索路径”的字段。该字段映射到CRX中名为searchIn的属性。将此属性设置为不包含错误页的内容子树。例如,如果将内容树设置为 /content /searchable-content home-page

我正在使用CQ5开箱即用搜索组件。我的问题是搜索结果中显示了错误页面

我可以知道如何限制在搜索中显示错误页面吗。
是否需要为页面添加一个新属性,以便QueryBuilder可以对其进行限制?

在配置搜索结果组件实例的对话框(位于搜索结果页面上)中,查找名为“搜索路径”的字段。该字段映射到CRX中名为
searchIn
的属性。将此属性设置为不包含错误页的内容子树。例如,如果将内容树设置为

/content
    /searchable-content
        home-page
        ...
    /error-pages
        404
        401
        ...

在这种情况下,您可以将
searchIn
设置为
/content/searchable content

如果您无法将您不希望索引的内容与您希望索引的内容分开,则可以将搜索索引器配置为忽略指定内容中的某些内容或属性。这在网站的页面上有详细描述

本质上,索引器可以通过将属性添加到index_config.xml文件中来忽略属性,如下所示:

<index-rule nodeType="nt:base">
  <!-- ... existing ignored properties -->
  <property nodeScopeIndex="false">mySecretProperty</property>
</index-rule>

我的秘密财产
以下内容应排除具有特定资源类型的节点及其子节点的页面

<index-rule nodeType="nt:base" condition="@sling:resourceType='app/components/errorPage'" />
<index-rule nodeType="nt:base" condition="ancestor::*/@excludefromindex='app/components/errorPage'" />

Jackrabbit页面提供了有关此文件语法的更多详细信息


内容不会自动重新编制索引,可以找到如何触发重新编制索引的详细信息

嗨,Diffa,谢谢你的回复,我会尝试一下,然后回复你,再次感谢你,我已经添加了以下几行,并直接在我试图访问的错误页面的jcr:content中添加了属性excludefromindex,现在它显示在搜索结果中。但是你说了更标准的方法,比如创建mixin类型,我已经这样做了,然后我打开了content explorer,我想知道如何将这个mixin属性添加到错误页面我想限制Hi Diffa,我按照你的方法从content explorer将属性映射到cq:页面,它工作得很有魅力,非常感谢你Hi Diffa,我试着从代码端addPredicate(新谓词(“mytype”,“type”).set(“group.4_group.1_属性”,“jcr:content/cq:template”))来实现这一点;因此,我将通过指定映射这些页面的模板来排除搜索中的所有页面,但此方法addPredicate()不存在于默认搜索api中,它存在于SimpleArchimpl中,SimpleArchimpl存在于包com.day.cq.search.impl.SimpleArchimpl中,但是如果我尝试使用该包,包不存在是抛出错误。嗨,我已经问过了,请用关键字SimpleArchimpl搜索谢谢,Balaji。嗨,谢谢你的回复,我会尝试一下,让你知道嗨,你是正确的,但我的问题是,这些错误页面与其他页面位于同一目录下,因此我需要通过在index_config.xml文件中添加两行并手动在页面的JCR内容中添加excludefromindex属性来限制这些页面,我可以限制页面,现在尝试如何从配置端添加它,正如DiffaThank you所建议的那样,David,在将mixin属性(在nodetype administrator中创建)添加到我想要限制的页面(从content explorer)后,它工作得很好。Hi David,我尝试从代码端进行此操作,addPredicate(新建谓词(“mytype”、“type”).set(“group.4_group.1_property”、“jcr:content/cq:template”);因此我将通过指定映射这些页面的模板从搜索中排除所有页面,但此方法addPredicate()在默认搜索api中不存在,它存在于SimpleArchimpl中,SimpleArchimpl存在于包com.day.cq.search.impl.SimpleArchimpl中,但是如果我尝试使用该包,则会抛出错误,该包不存在。谢谢