【问题标题】:Bulk indexing multiple documents at once in Spring Data ElasticSearch, how?在 Spring Data ElasticSearch 中一次批量索引多个文档,如何?
【发布时间】:2022-01-19 02:53:59
【问题描述】:

https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html 中似乎没有任何与批量操作相关的内容,例如一次批量索引多个文档

它甚至被支持吗?有什么例子吗?

谢谢!

【问题讨论】:

    标签: elasticsearch spring-data spring-data-elasticsearch


    【解决方案1】:

    你可以尝试如下:

    例如:假设您有 10 个文档要批量索引。

    BulkRequest bulkRequest=new BulkRequest();
    

    然后对于每个文档(在 for 循环内)

      bulkRequest.add(new IndexRequest(doc.getIndex())
                        .id(doc.getId())
                        .source(doc.getSource().toString(), XContentType.JSON));
    

    最后,使用 RestHighLevelClient 实例调用 Elasticsearch。

    BulkResponse bulkResponse=restHighLevelClientInstance.bulk(brb, RequestOptions.DEFAULT);
    

    注意:BulkRequest、IndexRequest 和 BulkResponse 是来自 Elasticsearch 的类。

    【讨论】:

    • 你说的是 Elasticsearch Java API 还是 Spring Data ElasticSearch?
    猜你喜欢
    • 2022-11-16
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多