Solr - Как исправить «Ошибка добавления поля ... msg = Для входной строки» при публикации данных в ядро - PullRequest
1 голос
/ 03 июня 2019

Я новичок в Solr.Я создал ядро ​​Solr (8.1.0), используя SolrCloud для тестирования, и попытался опубликовать данные в виде файла json.

Когда объект имеет значение с плавающей точкой, например "spalte412": "35.5" или со специальнымсимволов, в консоли выдается ошибка:

SimplePostTool: WARNING: Response: {
  "responseHeader":{
    "rf":2,
    "status":400,
    "QTime":223},
  "error":{
    "metadata":[
      "error-class","org.apache.solr.common.SolrException",
      "root-error-class","java.lang.NumberFormatException"],
    "msg":"ERROR: [doc=52] Error adding field 'spalte421'='156.6' msg=For input string: \"156.6\"",
    "code":400}}

Я попытался отредактировать базовую схему, добавив поле в интерфейсе администратора, но безуспешно.

Спасибо за помощь!

Ответы [ 3 ]

0 голосов
/ 03 июня 2019

Если вы предварительно не определяете свои поля, типы полей, определенные для поля, будут зависеть от первого представленного документа, в котором присутствует это поле.Solr использует этот тип поля, чтобы угадать тип поля, и в этом случае тип предполагаемого поля отличается от формата, который вы отправляете в более поздних документах.

Режим без схемы удобен для создания прототипов, но при перемещениик производству вы всегда должны добавлять поля с правильными типами, чтобы не было неожиданностей (как указано выше), когда документы представлены в другом порядке (или других документах), чем при разработке.

Вы можете определять поля в schema.xml или через SchemaAPI .

0 голосов
/ 04 июня 2019

Спасибо, ребята.

Действительно, я решил это, удалив поля в пользовательском интерфейсе администратора и определив с помощью

curl -X POST -H 'Content-type: application / json' --data-binary '{"add-field": {"name": "name", "type": "text_general", "multiValued": false, "сохранено": true}}' http://localhost:8983/solr/films/schema

0 голосов
/ 03 июня 2019

Вы должны опубликовать schema.xml краткое описание того, что вы делали раньше.

"корень ошибок класса", "java.lang.NumberFormatException"

Похоже, Solr War не в состоянии понять этот формат чисел, когда вы пытаетесь поместить документ со строкой (=For input string: \"156.6\"")

Похоже, у вас несоответствие между доставленным и ожидаемым форматом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...