AEM Solr集成:Remote Solr as oak索引问题:“undefined field catch_all”

问题描述 投票:4回答:1

我已经将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 aem cq5 solr4 aem-6
1个回答
1
投票

从Solr日志中可以看出,获取不存在或未正确定义的catch_all字段存在一些问题(同时检查字段类型)。

  • 为了能够索引数据,您应该创建一个文档。
  • 文件由一个字段组成。
  • Field有它的类型和属性。
  • 字段类型定义Solr如何解释字段中的数据以及如何查询字段。

检查您是否正确定义了上述所有内容。

有关字段类型的更多信息:https://lucene.apache.org/solr/guide/6_6/field-type-definitions-and-properties.html#field-type-definitions-and-properties

更多关于索尔作为橡树指数:https://helpx.adobe.com/experience-manager/kt/eseminars/gems/Solr-as-an-Oak-index-for-AEM1.html#main-pars_multi_column

© www.soinside.com 2019 - 2024. All rights reserved.