Search 使用QueryBuilder API但不与QueryBuilder servlet一起使用时出现不推荐使用的索引警告
我有一个简单的AEM查询Search 使用QueryBuilder API但不与QueryBuilder servlet一起使用时出现不推荐使用的索引警告,search,aem,Search,Aem,我有一个简单的AEM查询 path=/content/bla/blabla/blablabla type=cq:Page p.limit=-1 orderby=path 使用/libs/cq/search/content/querydebug.htmlservlet可以很好地执行此查询,但是当使用QueryBuilder API构建和执行相同的查询时(resourcesolver为清晰起见,省略了对会话的适配,QueryBuilder使用依赖项注入@Reference作为“QueryBuild
path=/content/bla/blabla/blablabla
type=cq:Page
p.limit=-1
orderby=path
使用/libs/cq/search/content/querydebug.html
servlet可以很好地执行此查询,但是当使用QueryBuilder API构建和执行相同的查询时(resourcesolver
为清晰起见,省略了对会话的适配,QueryBuilder
使用依赖项注入@Reference
作为“QueryBuilder”注入)
我试图理解的是这两种情况之间有什么不同。通过调试代码并不断检查日志,我注意到这个查询没有引起任何问题,它是由与AEM相关的不同代码片段引起的
final Map<String,String> queryMap = new HashMap<>();
queryMap.put("path","/content/bla/blabla/blablabla");
queryMap.put("type",NameConstants.NT_PAGE);
queryMap.put("p.limit","-1");
queryMap.put("orderby","path");
Query query = queryBuilder.createQuery(PredicateGroup.create(queryMap),resourceResolver.adaptTo(Session.class));
SearchResult result = query.getResult();
org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex This index is deprecated: /oak:index/lucene; it is used for query Filter(query=select [jcr:path], [jcr:score], * from [nt:base] as a where contains(*, '"/content/bla/blabla/blablabla"') /* xpath: //*[jcr:contains(., '"/content/bla/blabla/blablabla"')] */ fullText="/content/bla/blabla/blablabla", path=*). Please change the query or the index definitions.