Java 如何在Elasticsearch中索引元素数组?
我正在使用Elasticsearch 1.4.3,并尝试为数据库创建一个自动“填充器”。 其想法是使用该网站生成一组随机数据,并将其推送到Elasticsearch索引中 为了与Elasticsearch接口,我将使用Elasticsearch For Java API与Elasticsearch web API混合使用 我设法一次推送一个用户,只需复制粘贴信息,不包括[和]字符,并创建一个shell脚本来调用Java 如何在Elasticsearch中索引元素数组?,java,json,
elasticsearch,Java,Json,
elasticsearch,我正在使用Elasticsearch 1.4.3,并尝试为数据库创建一个自动“填充器”。 其想法是使用该网站生成一组随机数据,并将其推送到Elasticsearch索引中 为了与Elasticsearch接口,我将使用Elasticsearch For Java API与Elasticsearch web API混合使用 我设法一次推送一个用户,只需复制粘贴信息,不包括[和]字符,并创建一个shell脚本来调用 curl -XPOST 'http://localhost:9200/myindex
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.
]
您可以验证JSON,例如通过
另外,试着看一看谢谢你的帮助,但是如果我粘贴生成的JSON(实际上是JSON的向量),网站会说有效的JSON,即使没有{in the outer level,如果你在数组末尾插入缺少的},是的。我举了第二个例子,删除
,等等…
(不是大括号!),它返回一个错误,因为您缺少name属性的对象的右大括号。我更新了我的答案。你是对的,我的打字错误。不幸的是,问题仍然存在