検索スローの検索と置換 NullPointerException

問題点

クラシック UI サイト管理者(/siteadmin)で実行される検索の検索と置換は一部のコンテンツパスで失敗します。以下と同様のエラーが error.log に記録されます。

01.06.2017 11:36:28.122 *ERROR* [0:0:0:0:0:0:0:1 [1496331387272] GET /content/geometrixx/en.find.json HTTP/1.1] org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught Throwable
java.lang.NullPointerException: null
 at com.day.cq.wcm.core.impl.servlets.FindReplaceServlet.findPages(FindReplaceServlet.java:264)
 at com.day.cq.wcm.core.impl.servlets.FindReplaceServlet.doGet(FindReplaceServlet.java:144)
 at com.day.cq.commons.servlets.AbstractPredicateServlet.doGet(AbstractPredicateServlet.java:68)
 at org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:269)
 at org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:140)
 at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:345)

原因

この問題は、ページのノード jcr:content(cq:PageContent)の下に nt:unstructured を保存する代わりに cq:Page ノードの直下に nt:unstructured を保存したことが原因である可能性があります。

例えば:
不正解:
/content/geometrixx/en/footer/copyright

正解:
/content/geometrixx/en/jcr:content/footer/copyright

解決策

問題のあるノードを cq:Page ノードの直下に保存する代わりに jcr:content ページのサブノードの下に移動します。  cq:PageContent(jcr:content)ノード構造の下にコンテンツを保存することはベストプラクティスアプローチです。

 Adobe

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト