使用Index API同步将数千条记录索引到Elasticsearch中是正确的方法吗?

问题描述

我正试图将超过7000条记录索引到elasticsearch中。我将根据长度从JSonarray中选择所有记录,然后遍历数组,并使用Indexrequest API将记录逐一索引到elasticsearch中。由于我是Elastisearch的新手,所以我想确认这是正确的方法。我在下面给出了我的代码

            for (int i = 0; i < odsData.size(); i++) {
                IndexRequest request = new IndexRequest(ConstantsHelper.INDEX_NAME + strDate);
                request.id();
                String jsonString = odsData.get(i).toString();
                request.source(jsonString,XContentType.JSON);
                IndexResponse indexResponse = client.index(request,RequestOptions.DEFAULT);
            }

采用这种正确的方法吗?我也想检查一下数组中的记录数,一旦完成索引,Elasticsearch中索引的记录数是否匹配?

解决方法

是的,应该可以正常工作,但这将是一个缓慢的过程。还有一个批量索引API,可用于一次快速索引多个文档。 Link

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...