#elasticsearch #exception #nest #elasticsearch-aggregation #elasticsearch.net
#elasticsearch #исключение #гнездо #elasticsearch-агрегация #elasticsearch.net
Вопрос:
Я создал индекс в эластичном поиске. И попытался добавить содержимое большого файла (700 МБ) в поле документа. Мы знаем, что elasticsearch будет поддерживать максимум до 2 ГБ документа, который может быть проиндексирован. Но он выдает ArgumentOutOfRangeException
и сообщение гласит: «Слишком много символов. Результирующее количество байтов больше, чем может быть возвращено как int . (Параметр ‘charCount’)». Это исключение возникает перед отправкой запроса на эластичный сервер (во время построения данных post).
Найдите используемый пример кода:
public class doc
{
public int id { get; set; }
public string documentContent { get; set; }
}
person p = new perosn(){ id = 001, content = "700mbString Content" };//Exception source
_client.Index(p,i=>i.index("indexName"));
Он работает до 600 МБ.
Кто-нибудь предлагает, как решить эту проблему.
Комментарии:
1. Какой тип содержимого вы хотите добавить в elasticsearch?
2. @dadoonet, я хочу проиндексировать все содержимое документа. необходимо добавить «текстовое» (строковое) содержимое.
3. Пожалуйста, поделитесь своим кодом nest, потому что это исключение, похоже, не имеет ничего общего с elasticsearch как таковым.
4. @JoeSorocin, я обновил вопрос с помощью используемого примера кода.
5. Не думаю, что это поддерживается NEST, поскольку запрос сериализуется в байтовый буфер, максимальный размер которого
int.MaxValue