2017-02-13 7 views
0

AEM 6.0と6.2からいくつかのプロジェクトを移動しようとしていますが、アプリケーションの1つにエラーがあり、ドキュメントが役に立ちませんでした.Herderはquerybuilderクエリの短縮ケースですAEM 6.2のQueryBuilderがAEM6.0と異なる結果を返す

type=cq:page 
path=/content/nera/en/experts 
p.hits=full 
p.nodedepth=1 
1_property.opertaion=like 
1_property=jcr:content/jcr:title 
1_property.value=Dr. 

操作が同じように設定されていても、完全一致のみが返されるという問題があります。部分一致は結果を返しませんが、AEM 6.0では部分的な結果が返されます。私の場合、「博士」の価値は、既存のノードであるDr. Lawrence Wuがページを返す間は何も返しません。

1_property:

すべてのヘルプはあなたがタイプミスか、おそらくあなたのサンプル/コードのエラーを持っている

+0

小数点以下は最後の行が 1_property.value =%Dr.% –

+0

カスタムインデックスまたはデフォルトインデックスを使用していますか? ACS Explainクエリツールは、使用されたインデックスを検索するのに役立ち、その上で集計プロパティruleseをチェックできます。あなたの望む結果を得るためにはフルテキストインデックスでなければなりません。あなたが不動産指数を打っているようです。 –

答えて

1

を高く評価しました。 opertaionは=

代わりのように:このほかに

1_property.operation=like 

、私は6.0と6.2の間でQueryBuilderの実装に差があることを事をしません。すべてのクエリビルダクエリは、実行される前にSQL2に変換されます。あなたは、ログ内の実際のクエリを参照するために、以下のパッケージのデバッグするためにログレベルを設定することができます。

  • org.apache.jackrabbit.oak.queryを
  • com.day.cq.search

query debug servletを使用してクエリをテストし、最後に生成されるxpathを確認することもできます。 p.hits=fullオプションは、すべてのプロパティが結果に含まれている場合、またはそれらの小さなセット(パス、名前、タイトルなど)が含まれている場合にのみ制御します。

関連する問題