testing - 通过文件初始化 Elasticsearch 数据库

标签 testing docker elasticsearch

我有一个在 Docker 容器中运行的 elasticsearch 实例。

出于测试目的,我想用一组数据初始化数据库。类似于 postgres,其中可以编写在容器启动时执行的 .sql 文件。使用 elasticsearch 实现此目的的最佳方法是什么?

最佳答案

我用过 Bulk API使用测试数据初始化 Elasticsearch。

要点是,您创建一个 Newline delimited JSON文件,根据 Bulk 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'

关于testing - 通过文件初始化 Elasticsearch 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46470566/

相关文章:

r - 显示 Kruskal-Wallis 测试等级

ruby-on-rails - 在集成测试中检索模型 ID

django - 模块未找到错误 : No module named 'project.appname' when running Django tests

node.js - docker容器中目录上的Node js进程

linux - 如何配置 Docker 资源

performance - 如何在 JMeter 中为我的场景决定线程数或虚拟用户数

Docker 拉取错误 - json : cannot unmarshal number into Go value of type string

search - 通过查询字符串搜索在特定字段上不起作用的空间

elasticsearch - 无法安装 elasticsearch-kopf 插件

c# - 将任意 bool 条件列表合并到Nest查询中