質問

インデックス検索からノードのプロパティを除外するにはどうすればよいですか?

回答、解決策

これは、(/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

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー