我已经将AEM与远程Solr集成为'Solr as a Oak index',并且在运行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索引,这是我遇到这个问题的时候。
从Solr日志中可以看出,获取不存在或未正确定义的catch_all字段存在一些问题(同时检查字段类型)。
检查您是否正确定义了上述所有内容。