gpt4 book ai didi

apache-spark - Spark-Solr 连接器尝试添加已存在的字段 stored=true

转载 作者:行者123 更新时间:2023-12-04 17:40:07 25 4
gpt4 key购买 nike

我在 Spark 2.2.1 集群中使用 Spark-Solr 连接器 3.4.0 和 Solr 云版本 7.6.0。我们有一个带有预定义架构的现有 Solr 集合。大多数字段都将 stored 参数设置为 true,但在某些字段中我们明确设置了 stored=false。当我们尝试使用 spark-solr 连接器将数据推送到 Solr 时,出现以下错误-

org.apache.solr.api.ApiBag$ExceptionWithErrObject: error processing commands, errors: [{add-field={name=taxonomy, indexed=true, multiValued=true, docValues=true, stored=true, type=string},  errorMessages=[Field 'item_id_channel' already exists.
]}],
at org.apache.solr.handler.SchemaHandler.handleRequestBody(SchemaHandler.java:92)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2541)
at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:709)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:515)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:377)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:323)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)

错误表明 item_id_channel 已经存在,但此错误仅针对我们定义了 stored=false(在 Solr 架构中)的字段引发。我知道连接器出于某种原因希望再次创建模式,但它将 stored 参数设置为 true,这与 Solr 上该字段的预定义模式定义冲突。

我的问题是 - 有没有办法告诉连接器(可能通过某些选项?)我们希望将某些字段的 stored 设置为 true?并且可能是为字段定义其他 solr 参数的通用方法?

最佳答案

我们找到了导致错误的问题。有一个 bug在旧版本的 spark-solr 连接器中,由于 stored 的值为 true,连接器会尝试将现有字段添加到 solr 模式。这已在 3.5.5 release 中修复.因此,一旦我们将连接器升级到 3.5.14 版,摄取就会开始正常工作,没有任何错误。

关于apache-spark - Spark-Solr 连接器尝试添加已存在的字段 stored=true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54881444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com