使用SOLR配置AEM 6.0

时间:2016-05-08 17:09:06

标签: solr aem

我正在尝试使用远程SOLR(4.10.2)配置AEM 6.0。我按照https://docs.adobe.com/docs/en/aem/6-0/deploy/upgrade/queries-and-indexing.html#Configuring AEM中提到的步骤和推荐的配置文件使用单个远程SOLR服务器

在SOLR服务器上我得到了

org.apache.solr.common.SolrException: undefined field path_exact

at org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1269)     at org.apache.solr.schema.IndexSchema.getFieldType(IndexSchema.java:1221)     在org.apache.solr.parser.SolrQueryParserBase.getPrefixQuery(SolrQueryParserBase.java:757)     在org.apache.solr.parser.SolrQueryParserBase.handleBareTokenQuery(SolrQueryParserBase.java:522)     在org.apache.solr.parser.QueryParser.Term(QueryParser.java:299)     在org.apache.solr.parser.QueryParser.Clause(QueryParser.java:185)     在org.apache.solr.parser.QueryParser.Query(QueryParser.java:107)     在org.apache.solr.parser.QueryParser.TopLevelQuery(QueryParser.java:96)     在org.apache.solr.parser.SolrQueryParserBase.parse(SolrQueryParserBase.java:151)     在org.apache.solr.search.LuceneQParser.parse(LuceneQParser.java:50)     在org.apache.solr.search.QParser.getQuery(QParser.java:141)     在org.apache.solr.update.DirectUpdateHandler2.getQuery(DirectUpdateHandler2.java:354)     在org.apache.solr.update.DirectUpdateHandler2.deleteByQuery(DirectUpdateHandler2.java:384)

AND

org.apache.solr.common.SolrException: Document is missing mandatory uniqueKey field: id
at org.apache.solr.update.AddUpdateCommand.getIndexedId(AddUpdateCommand.java:93)
at org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:939)
at org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:692)
at org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:100)
at org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:247)
at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:174)
at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:99)
at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1967)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)

在我的AEM日志中,我正在

equest: http://localhost:8983/solr/update?wt=javabin&version=2
at org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer$Runner.run(ConcurrentUpdateSolrServer.java:240)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

08.05.2016 12:54:59.849 ERROR [concurrentUpdateScheduler-1-thread-1] org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer错误 org.apache.solr.common.SolrException:错误请求

不确定我错过了什么。

1 个答案:

答案 0 :(得分:0)

虽然这是一个老问题,但可能仍然相关。 很可能您的架构与要索引的数据不匹配。您可以导入Jackrabbit提供的配置,编写自己的架构或使用ManagedIndexSchemaFactory(自Solr 5 afaik以来可用)。

您不一定需要使用Solr 4,您也可以使用更新的版本。

另请参阅此Blog-Post关于使用Solr设置AEM(包括示例应用程序)