我是Elasticsearch的新手,到目前为止一直在手动输入数据。例如,我做了这样的事情:
$ curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{ "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elastic Search" }'
我现在有一个.json文件,我想将其索引到Elasticsearch中。我也尝试过类似的方法,但没有成功:
curl -XPOST 'http://jfblouvmlxecs01:9200/test/test/1' -d lane.json
如何导入.json文件?我需要首先采取一些步骤来确保映射正确吗?
如果要使用带有curl的文件,则正确的命令是这样的:
curl -XPOST 'http://jfblouvmlxecs01:9200/test/_doc/1' -d @lane.json
Elasticsearch是无模式的,因此您不一定需要映射。如果按原样发送json并使用默认映射,则将使用标准分析器索引和分析每个字段。
如果您想通过命令行与Elasticsearch进行交互,则可能需要看一看弹性外壳,它比curl更方便。
2019-07-10:应注意自定义映射类型已弃用,不应使用。我更新了上面的url中的类型,以使其更容易看到哪个是索引,哪个是同时具有“ test”名称的类型,这令人困惑。