🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 指数的一些文档 集群启动并运行后,就可以为某些数据建立索引了。Elasticsearch有多种摄取选项,但最终它们都做同样的事情:将JSON文档放入Elasticsearch索引中。 您可以通过一个简单的PUT请求直接执行此操作,该请求指定要添加文档的索引,唯一的文档ID以及`"field": "value"`请求正文中的一对或多对: ~~~ PUT /customer/_doc/1 { "name": "John Doe" } ~~~ 如果该请求`customer`尚不存在,该请求将自动创建该索引,添加ID为的新文档`1`,并存储该`name`字段并为其建立索引。 由于这是一个新文档,因此响应显示该操作的结果是创建了该文档的版本1: ~~~ { "_index" : "customer", "_type" : "_doc", "_id" : "1", "_version" : 1, "result" : "created", "_shards" : { "total" : 2, "successful" : 2, "failed" : 0 }, "_seq_no" : 26, "_primary_term" : 4 } ~~~ 可以从群集中的任何节点立即使用新文档。您可以使用指定其文档ID的GET请求检索它: ~~~ GET /customer/_doc/1 ~~~ 该响应表明找到了具有指定ID的文档,并显示了已索引的原始源字段。 ~~~ { "_index" : "customer", "_type" : "_doc", "_id" : "1", "_version" : 1, "_seq_no" : 26, "_primary_term" : 4, "found" : true, "_source" : { "name": "John Doe" } } ~~~ ### 在索引文件批量 如果您有很多要编制索引的文档,则可以使用[批量API](https://www.elastic.co/guide/en/elasticsearch/reference/7.6/docs-bulk.html)批量提交。使用批量处理批处理文档操作比单独提交请求要快得多,因为它可以最大程度地减少网络往返次数。 最佳批处理大小取决于许多因素:文档大小和复杂性,索引编制和搜索负载以及群集可用的资源。一个好的起点是批处理1,000至5,000个文档,总有效负载在5MB至15MB之间。从那里,您可以尝试找到最佳位置。 要将一些数据导入Elasticsearch,您可以开始搜索和分析: 1. 下载[`accounts.json`](https://github.com/elastic/elasticsearch/blob/master/docs/src/test/resources/accounts.json?raw=true)样本数据集。此随机生成的数据集中的文档代表具有以下信息的用户帐户: ~~~ { "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. `bank`使用以下`_bulk`请求将帐户数据索引到索引中: ~~~ curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_bulk?pretty&refresh" --data-binary "@accounts.json" curl "localhost:9200/_cat/indices?v" ~~~ 响应表明成功索引了1,000个文档。 ~~~ health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open bank l7sSYV2cQXmu6_4rJWVIww 5 1 1000 0 128.6kb 128.6kb ~~~