我已经学习了ES的教程,但无法在我的系统上配置它。
我安装ES,cURL,JSON视图和工作很好。我无法为chrome安装sense插件,因为它说移动到奇迹,从那里没有下载链接。
我试着:
curl -X PUT "localhost:9200/test_idx_1x"
和索引被创建。然后我试了:
curl -X PUT "localhost:9200/test_idx_1x/test_mapping_1x/_mapping" -d '{
"test_mapping_1x": {
"properties": {
"my_attachments": {
"type": "attachment"
}
}
}
}'
它在扔NullPointerException
我需要做什么来运行ES的平面文件,有人可以用简单的步骤指导我吗?
错误:2014-03-20 12:01:02,517][DEBUG][action.admin.indices.mapping.put] [Madelyne Pryor] failed to put mappings on indices [[test_idx_1x]], type [test_mapp
ng_1x]
ava.lang.NullPointerException
at org.elasticsearch.common.xcontent.XContentFactory.xContent(XContentFactory.java:117)
at org.elasticsearch.common.xcontent.XContentHelper.convertToMap(XContentHelper.java:113)
at org.elasticsearch.common.xcontent.XContentHelper.convertToMap(XContentHelper.java:101)
at org.elasticsearch.index.mapper.DocumentMapperParser.parseCompressed(DocumentMapperParser.java:177)
at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:387)
at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:377)
at org.elasticsearch.cluster.metadata.MetaDataMappingService$5.execute(MetaDataMappingService.java:540)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:308)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor
java:134)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
同时添加命令头:
-H "Content-Type: application/json"
如果仍然不起作用,那么用双引号代替单引号来包装你的json。例如:
-d "{"test_mapping_1x" :"..."}"
我在Windows上尝试从Git Bash shell进行映射时遇到了这个错误。
同样的命令在Windows cmd.exe本机运行正常(遗憾)。