2017-02-13 16 views
0

我們正在從AEM 6.0和6.2中移動一些項目,其中一個應用程序有錯誤並且文檔沒有幫助。小寫查詢構建器查詢AEM 6.2中的查詢構建器返回的結果不是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返回頁面時什麼也不返回。

任何幫助表示讚賞

+0

小評論我嘗試使用%作爲通配符,因此最後一行將是 1_property.value =%Dr.% –

+0

您使用的是自定義索引還是默認索引? ACS Explain查詢工具可以幫助您找到已使用的索引,並且您可以檢查其聚合屬性rulese。它必須是全文索引,以獲得您想要的結果。似乎你正在打一個房地產指數。 –

回答

1

你有一個錯字或可能在你的樣品/代碼中的錯誤:

1_property。 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僅在結果中包含所有屬性或僅包含一小部分屬性(例如路徑,名稱,標題等)時控制