最終更新日 :
Apr 28, 2021 12:08:03 AM GMT
質問
インデックス検索からノードのプロパティを除外するにはどうすればよいですか?
回答、解決策
これは、(/crx-quickstart/server/runtime/0/_crx/WEB-INF/classes)
にある indexing_config.xml
で行うことができます。
文字列プロパティをフルテキストインデックスに追加するかどうかを制御する nodeScopeIndex
属性を使用する必要があります。jcr:contains(@prop, 'foo')の代わりに jcr:contains(., 'foo')を行う際にこれが使用されます。
CQ5.2.1やそれより前のバージョンでは、これはすべて含まれたものとなっています。index-rule を使用してこれらを除外する代わりに、必要なプロパティを明確に含める必要があります。リストされたこれらのプロパティーはインデックス付けされ、リストされていないプロパティーはインデックス付けされません。
(デフォルトインストールで)索引ルールがない場合、ノードのすべてのプロパティはインデックス付けされます。
インデックスルールのプロパティを含む例(CQ5.2.1とそれ以前のバージョン)
<index-rule nodeType="nt:base"> <property nodeScopeIndex="true">cq:Template</property> <property nodeScopeIndex="true">subtitle</property> . .</index-rule>
CQ5.3では、インデックスを作成する必要があるこれらのプロパティを明確に含める必要はありません。これで、それらを除外することで、保守を容易にすることができます。除外される(デフォルトのインストールによって)不要なノードの既知のプロパティーのリストがあります。インデックス作成の対象となるプロパティのすべてが含まれているインデックスルールのプロパティ isRegexp
があります。
インデックスルール(CQ5.3)のプロパティを除外する例
<index-rule nodeType="nt:base"> . .<property nodeScopeIndex="false">sling:vanityPath</property> <property isRegexp="true">。*:.*</property> </index-rule>
適用対象
CQ5.x
アカウントにログイン