ES官网reference翻译文章(6)—Index some documents

对ES官网的reference的翻译,同时也是备忘,ES版本为7.5

下面是正文翻译,附上原文链接

https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-index.html

==================================================================================================

索引一些文档

当你安装好集群并运行之后,你可以索引一些数据了。ES有多种多样的数据摄取方式,但最终它们都做了一件相同的事情:将JSON文档导入ES索引中。

你可以使用简单的PUT请求来实现文档的导入,请求中需要明确你想要添加文档的索引、唯一的文档ID并在请求体内附上一个或多个"field":"value"对:

curl -X PUT http://9.25.176.228:8080/customer/_doc/1?pretty -H 'content-type:application/json' -d '{"name":"John Doe"}'

上面的请求会自动创建customer索引如果它不存在的话,添加一个id=1的文档,并存储和索引“name”字段。

由于添加的文档是个新文档,返回的响应会显示上面的操作的结果是新创建了一个版本1的文档:

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 8,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 2,
    "failed" : 0
  },
  "_seq_no" : 9,
  "_primary_term" : 5
}

这个新文档可以马上从集群中任何一个节点中获得,你可以使用GET请求指明该文档的id来检索它:

curl http://9.25.176.228:8080/customer/_doc/1?pretty

返回的响应表明找到了指定id为1的文档并展示了索引的原始字段:
 

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 8,
  "_seq_no" : 9,
  "_primary_term" : 5,
  "found" : true,
  "_source" : {
    "name" : "John Doe"
  }
}

批量索引文档

如果你有大量文档需要被索引,你可以使用bulk api来批量提交它们。使用bulk来批处理文档操作比提交单个请求快很多,因为批处理缩短了网络时延。

最优的批处理大小依赖很多因素:文档的大小和复杂度、索引和搜索的负载以及集群中的可用资源。批量处理1000-5000个文档,总负载在5M-15M之间是个不错的起点。

批量导入文档的步骤如下:

1、下载官网的accounts.json样例数据集,数据集中保存的是用户的账户信息:

{
    "account_number": 0,
    "balance": 16623,
    "firstname": "Bradshaw",
    "lastname": "Mckenzie",
    "age": 29,
    "gender": "F",
    "address": "244 Columbus Place",
    "employer": "Euron",
    "email": "bradshawmckenzie@euron.com",
    "city": "Hobucken",
    "state": "CO"
}

2、使用下面的_bulk请求将这些账号信息添加到bank索引:

curl -X POST http://9.25.176.228:8080/bank/_bulk?pretty -H 'content-type:application/json' --data-binary '@accounts.json'

curl http://9.25.176.228:8080/_cat/indices?v

响应显示1000个文档已经被成功索引了:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值