我已经将AEM与远程Solr集成为“ Solr作为Oak索引”,并且在运行solr查询时,我可以看到我所有的内容都被编入索引并显示在远程Solr中。
但是,当我在AEM中为某些搜索应用程序运行一些特定于AEM的jcr查询时,在AEM日志中,我可以看到请求正在通过solr来获取内容,但是结果为空。在Solr日志中,以下是堆栈跟踪:
2019-02-26 13:09:56.093 ERROR (qtp1514322932-145) [ x:oak] o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: undefined field catch_all
at org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1300)
at org.apache.solr.schema.IndexSchema.getFieldType(IndexSchema.java:1252)
at org.apache.solr.parser.SolrQueryParserBase.getWildcardQuery(SolrQueryParserBase.java:772)
at org.apache.solr.parser.SolrQueryParserBase.handleBareTokenQuery(SolrQueryParserBase.java:508)
at org.apache.solr.parser.QueryParser.Term(QueryParser.java:309)
at org.apache.solr.parser.QueryParser.Clause(QueryParser.java:180)
at org.apache.solr.parser.QueryParser.Query(QueryParser.java:101)
at org.apache.solr.parser.QueryParser.TopLevelQuery(QueryParser.java:90)
at org.apache.solr.parser.SolrQueryParserBase.parse(SolrQueryParserBase.java:152)
at org.apache.solr.search.LuceneQParser.parse(LuceneQParser.java:50)
at org.apache.solr.search.QParser.getQuery(QParser.java:140)
我在这里做错了什么?另外,这些类型的集成所支持的Solr的正式版本是什么?
P.S:我已经删除了默认的Oak索引,而我只是在使用新的Solr Oak索引,那时我正面临这个问题。
答案 0 :(得分:1)
从 Solr 日志中,很明显,获取 catch_all 字段不存在或定义不正确存在一些问题(也请检查字段类型)。
检查是否正确定义了上述所有内容。
有关Solr作为Oak指数的更多信息: https://helpx.adobe.com/experience-manager/kt/eseminars/gems/Solr-as-an-Oak-index-for-AEM1.html#main-pars_multi_column