如何限制上传到ElasticSearch的数据条数

How to limit the number of data to be uploaded to ElasticSearch

如何限制上传到Elasticsearch的数据数量?我的旧笔记本电脑无法像我正在使用的那样处理庞大的数据集。

我已经使用下面的代码'limit'要上传的数据

from elasticsearch import helpers, Elasticsearch
import csv
import itertools

with open('my_data.csv', encoding="utf8") as f:
    reader = csv.DictReader(f)
    for row in itertools.islice(reader, 1000): #limitation of data
        helpers.bulk(es, reader, index='movie-plots', doc_type=None)

但这显然不起作用;当我检查 'POST movie-plots/_count' 时,它 returns 整个数据集的初始大小。

我是 Elasticsearch 的新手,很抱歉这是一个新手问题。我正在使用 Python 客户端(在 Jupyter notebook 中)以便使用 Elasticsearch 和 Kibana。

您在 reader 上调用 islice ...但是您将所有 reader 传递给 helpers.bulk

不在我可以测试的地方;但是尝试删除 for 循环并直接将 islice 传递给 helpers.bulk

with open('my_data.csv', encoding="utf8") as f:
    reader = csv.DictReader(f)
    helpers.bulk(es, itertools.islice(reader, 1000), index='movie-plots', doc_type=None)