当使用弹性搜索的批量 API 索引数据时,这里是站点文档中的示例 json
POST _bulk
{ "index" : { "_index" : "test", "_type" : "_doc", "_id" : "1" } }
{ "field1" : "value1" }
{ "index" : { "_index" : "test", "_type" : "_doc", "_id" : "2" } }
{ "field1" : "value2" }
{ "index" : { "_index" : "test", "_type" : "_doc", "_id" : "3" } }
{ "field1" : "value3" }
在“准备”要由批量 API 使用的数据时,我必须在第一行指定操作,在下一行我将提供数据。每行上的一些冗余部分可能看起来很明显并且非常无害,但是当我索引数万亿行时,它不会增加延迟吗?是否有更好的方法通过指定索引名称并在标题处仅键入一次来推送所有行?特别是当我可以使用自动生成的 id 时,我可以避免生成 TB 的数据只是为了一次又一次地为同一目的添加到每一行。
我相信我在这里遗漏了一些明显的东西,否则我相信弹性公司的那些人足够聪明,已经弄清楚了,如果他们这样做了,应该有一些原因。但是什么?