通过文件初始化Elasticsearch数据库
我有一个在Docker容器中运行的elasticsearch实例。
出于testing目的,我想用一组数据初始化数据库。 与postgres类似,可以在容器启动时执行.sql文件。 使用elasticsearch完成这件事的最好方法是什么?
我已经使用Bulk API来用testing数据初始化Elasticsearch。
它的要点是,你创build一个新的分隔的JSON文件,按照批量API的要求,像这样:
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } } { "field1" : "value1" }
(请注意文件末尾的换行符,没有它就无法运行。)
然后将其上传到大容量端点,可以使用curl来完成,如下所示:
curl -X POST --data-binary '@test-data.json' \ -H 'Content-Type: application/x-ndjson' 'localhost:9200/_bulk?pretty'