繁体   English   中英

如何索引Elasticsearch中的元素数组?

[英]How to index an array of element in Elasticsearch?

我正在使用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:格式错误的内容必须以对象开头

你会如何解决这个问题? 谢谢!

您缺少包装项目的右括号:

  [
    {
    "name": {
      "first": "Dickerson",
      "last": "Wood"
    }, etc.
  ]

您可以通过http://jsonlint.com/验证您的JSON。

另外,请尝试查看http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM