Ошибка тайм-аута pythonasticsearch при индексации большого json - PullRequest
0 голосов
/ 27 апреля 2018

Я получаю исключение тайм-аута при индексации огромного текста JSON.

пример кода:

es.index(index="test", doc_type="test", body=jsonString) 

Поэтому я попытался увеличить время ожидания, используя

es.index(index="test", doc_type="test", body=jsonString, timeout=60) 

Но это единственный способ решить проблему? иногда размер строки JSON составляет от 40 до 60 МБ.

Обновление:

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

helpers.bulk(es, jsonOutput, index="test-las", doc_type="test-las")

Вход

Traceback (most recent call last):
  File "LasioParser.py", line 46, in <module>
    helpers.bulk(es, jsonOutput, index="test-las", doc_type="test-las")
  File "/usr/lib/python2.7/site-packages/elasticsearch/helpers/__init__.py", line 257, in bulk
    for ok, item in streaming_bulk(client, actions, **kwargs):
  File "/usr/lib/python2.7/site-packages/elasticsearch/helpers/__init__.py", line 192, in streaming_bulk
    raise_on_error, **kwargs)
  File "/usr/lib/python2.7/site-packages/elasticsearch/helpers/__init__.py", line 137, in _process_bulk_chunk
    raise BulkIndexError('%i document(s) failed to index.' % len(errors), errors)
elasticsearch.helpers.BulkIndexError: (u'500 document(s) failed to index.', [{

1 Ответ

0 голосов
/ 25 сентября 2018

Используете ли вы http-сжатие?

from elasticsearch import Elasticsearch es = Elasticsearch(hosts, http_compress = True)

https://elasticsearch -py.readthedocs.io / о / мастер / # сжатие

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