我正在使用Elasticsearch 1.4.3,而我正试图创建一个自动化的"填充物"对于数据库。 我们的想法是使用这个网站http://beta.json-generator.com/BhxCdZ6生成一组随机数据并将其推送到Elasticsearch的索引中。
为了与Elasticsearch连接,我使用与Elasticsearch Web API混合的Elasticsearch for Java API。
我设法每次推送一个用户只需复制粘贴除 [和] 字符之外的信息并创建一个调用
的shell脚本curl -XPOST 'http://localhost:9200/myindex/users/' -d '{
"name": {
"first": "Dickerson",
"last": "Wood"
}, etc...
如果我尝试复制由3个人组成的完整块并尝试使用相同的脚本推送数据
curl -XPOST 'http://localhost:9200/geocon/users/' -d '[
{
"name": {
"first": "Dickerson",
"last": "Wood"
}, etc ...
]
}'
返回的错误是:
org.elasticsearch.index.mapper.MapperParsingException:格式错误的内容,必须以对象开头
你会如何解决这个问题?谢谢!
答案 0 :(得分:0)
您缺少包裹该项目的右括号:
[
{
"name": {
"first": "Dickerson",
"last": "Wood"
}, etc.
]
您可以验证您的JSON,例如通过http://jsonlint.com/。
另外,请尝试查看http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html