如何使用NEST elasticsearch批量插入Json?

格蕾泽

我正在尝试使用Nest将多个记录插入数据库。使用IndexMany类插入确实可以,但是我还需要通过json字符串插入对象。

我确实看过github,并找到了一些如何使用RAWclient的示例。在代码示例下面,我插入json。

    > var twitter = _jsonData;          
    > var result = client.Raw.BulkPost(
    >               new { twitter }
    >               , qs => qs
    >                   //.Replication(ReplicationOptions.Async)
    >                   .Refresh(true)          );

一些其他信息:

探测:

tweet tweet1 = new tweet { id = "104", name = "test104", lastname = "test107" }; //ect....
List<tweet> data; //multiple tweet objects are added
string json = Newtonsoft.Json.JsonConvert.SerializeObject(data);

var twitter:

{
      "twitter": "[{'name':'test104','lastname':'test107','id':'104'},{'name':'test105','lastname':'test108','id':'105'},{'name':'test106','lastname':'test109','id':'106'}]"
}

我从数据库收到的结果:

{"error":"Unexpected end-of-input: expected close marker for OBJECT (from [Source: [B@10893e4; line: 1, column: 0])\n at [Source: [B@10893e4; line: 2, column: 3]"}

有人知道这个问题可能是什么吗?还是我在json /代码中丢失的内容?

沙申科

您的json不适合Elasticsearch批量操作。请参阅文档

在批量请求中,每个数据对象都应带有命令,因为单个批量请求可以包含插入,更新或删除,而不仅仅是插入。所以你的json应该看起来像

  { "index" : { "_index" : "twitter", "_type" : "tweets" } }\n
  {'name':'test104','lastname':'test107','id':'104'}\n
  { "index" : { "_index" : "twitter", "_type" : "tweets" } }\n
  {'name':'test105','lastname':'test108','id':'105'}\n
  { "index" : { "_index" : "twitter", "_type" : "tweets" } }\n
  {'name':'test106','lastname':'test109','id':'106'}\n

为了减少重复命令的开销,您可以将一些参数移至请求uri。然后json可以更短:

  { "index" : { } }\n
  {'name':'test104','lastname':'test107','id':'104'}\n

在IRawElasticClient中,这意味着将它们移至BulkPost参数。

  var result = client.Raw.BulkPost(new { twitter }, "twitter", "tweets");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用NEST elasticsearch批量插入Json?

来自分类Dev

使用NEST批量插入ElasticSearch

来自分类Dev

使用Elasticsearch.net或PlainElastic.net批量插入Elasticsearch

来自分类Dev

使用NEST在ElasticSearch上进行批量更新

来自分类Dev

如何使用NEST为Elasticsearch指定索引?

来自分类Dev

如何使用 NEST 与 ElasticSearch 进行 guid 匹配

来自分类Dev

如何使用 Nest 从 Json ElasticSearch 获取日志类型和级别?

来自分类Dev

在ElasticSearch批量上传中,如何用单引号插入数据?

来自分类Dev

使用NEST的ElasticSearch索引/插入失败

来自分类Dev

使用NEST将List <object>插入Elasticsearch

来自分类Dev

如何使用NEST更新ElasticSearch索引内的现有文档?

来自分类Dev

如何使用Elasticsearch(NEST)在C#中进行自动提示

来自分类Dev

使用NEST在ElasticSearch中集群故障转移如何工作

来自分类Dev

如何对Elasticsearch Nest使用两个并行聚合

来自分类Dev

如何使用ElasticSearch Nest版本7.x创建IndexTemplate

来自分类Dev

如何使用NEST更新ElasticSearch索引内的现有文档?

来自分类Dev

如何在Elasticsearch Bulk API(NEST)中使用TTL

来自分类Dev

如何使用NEST准确表示此ElasticSearch查询?

来自分类Dev

如何使用Elasticsearch(NEST)在C#中进行自动提示

来自分类Dev

ElasticSearch Nest插入/更新

来自分类Dev

如何使用cqlengine在cassandra中批量插入/批量插入?

来自分类Dev

使用Ecto批量插入

来自分类Dev

使用RethinkDB批量插入

来自分类Dev

使用循环批量插入

来自分类Dev

使用 Oracle 批量插入

来自分类Dev

如何使用Android从Nest API检索Json对象

来自分类Dev

如何在文档存在时将文档批量插入 ElasticSearch 而不更新

来自分类Dev

如何在Python中对单个JSON文件使用Elasticsearch批量索引

来自分类Dev

使用peewee进行批量处理的批量插入

Related 相关文章

  1. 1

    如何使用NEST elasticsearch批量插入Json?

  2. 2

    使用NEST批量插入ElasticSearch

  3. 3

    使用Elasticsearch.net或PlainElastic.net批量插入Elasticsearch

  4. 4

    使用NEST在ElasticSearch上进行批量更新

  5. 5

    如何使用NEST为Elasticsearch指定索引?

  6. 6

    如何使用 NEST 与 ElasticSearch 进行 guid 匹配

  7. 7

    如何使用 Nest 从 Json ElasticSearch 获取日志类型和级别?

  8. 8

    在ElasticSearch批量上传中,如何用单引号插入数据?

  9. 9

    使用NEST的ElasticSearch索引/插入失败

  10. 10

    使用NEST将List <object>插入Elasticsearch

  11. 11

    如何使用NEST更新ElasticSearch索引内的现有文档?

  12. 12

    如何使用Elasticsearch(NEST)在C#中进行自动提示

  13. 13

    使用NEST在ElasticSearch中集群故障转移如何工作

  14. 14

    如何对Elasticsearch Nest使用两个并行聚合

  15. 15

    如何使用ElasticSearch Nest版本7.x创建IndexTemplate

  16. 16

    如何使用NEST更新ElasticSearch索引内的现有文档?

  17. 17

    如何在Elasticsearch Bulk API(NEST)中使用TTL

  18. 18

    如何使用NEST准确表示此ElasticSearch查询?

  19. 19

    如何使用Elasticsearch(NEST)在C#中进行自动提示

  20. 20

    ElasticSearch Nest插入/更新

  21. 21

    如何使用cqlengine在cassandra中批量插入/批量插入?

  22. 22

    使用Ecto批量插入

  23. 23

    使用RethinkDB批量插入

  24. 24

    使用循环批量插入

  25. 25

    使用 Oracle 批量插入

  26. 26

    如何使用Android从Nest API检索Json对象

  27. 27

    如何在文档存在时将文档批量插入 ElasticSearch 而不更新

  28. 28

    如何在Python中对单个JSON文件使用Elasticsearch批量索引

  29. 29

    使用peewee进行批量处理的批量插入

热门标签

归档