При загрузке большого файла размером 2,4 МБ с 200 страницами появляется эта ошибка

RSolr::Error::Http - 400 Ошибка неверного запроса: "Исключительная запись документа id jd472w44j в индекс; возможная ошибка анализа: в документе содержится хотя бы один огромный термин в поле ="предложить" (кодировка UTF8 которого превышает максимальную длину 32766), все из которых были пропущены. Пожалуйста, исправьте анализатор, чтобы не выдавать такие термины. Префикс первого огромного термина: \'[10, 114, 116, 105, -62, -80, 49, 52, 32, 9, 32, 49, 49, 48, 49, 49, 49, 49, 49, 102, 105, 108, 108, 105, 108, 105, 108, 108, 32, 49]...\', оригинальное сообщение: длина байт может быть не более 32766; получил 36558. Возможно, в документе есть индексированное строковое поле (solr.StrField), которое слишком велико ','code'=>400}}

2 ответа

В нем говорится, что один из ваших терминов ("слов") больше 32 КБ. Распространенными причинами этой ошибки является то, что вы добавляете полный текст в StrField или используя TextField с токенизатором, который не разделяет слова (например, KeywordTokenizer).

Проверьте свою схему, чтобы увидеть, какие поля обрабатывают большую часть вашего текста. Убедитесь, что это TextField и это имеет подходящий токенизатор. ASCII 32 - это пробел, и он встречается в префиксе термина, который вы вставили, поэтому WhiteSpaceTokenizer это, вероятно, то, что вам нужно.

Потому что ваш документ имеет значение поля больше, чем предел lucene. Проверь это

изменить тип поля в файле схемы

Другие вопросы по тегам