Spark-Solr Connector пытается добавить уже существующее поле с сохраненным = true - PullRequest
0 голосов
/ 26 февраля 2019

Я использую соединитель Spark-Solr 3.4.0 с облачной версией Solr 7.6.0 в кластере Spark 2.2.1.У нас есть существующая коллекция Solr с предопределенной схемой для нее.Для большинства полей для параметра stored установлено значение true, но есть определенные поля, в которых мы явно устанавливаем stored=false.Когда мы пытаемся передать данные в Solr с помощью коннектора spark-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 для полей?

1 Ответ

0 голосов
/ 01 марта 2019

Мы обнаружили проблему, которая вызывала ошибку.В более старых версиях коннектора spark-solr была ошибка , из-за которой коннектор пытался добавить существующие поля в схему solr в случае, если значение stored было true.Это было исправлено в 3.5.5 release .Следовательно, как только мы обновили наш разъем до версии 3.5.14, загрузка продолжала работать без ошибок.

...