我在ElasticSearch中索引了一个地理数据记录数据集,以便在Kibana中进行分析。我的问题是发现'选项卡不会提取数据,而是显示错误消息
Discover: An error occurred with your request. Reset your inputs and try again.
在'设置'中,我可以很好地配置我的数据索引,而Kibana正在使用正确的类型/分析/索引元数据来获取所有映射字段。 '可视化'工作得很好。我可以创建我的图表,将它们添加到仪表板,向下钻取 - 一切。只是发现'标签对我来说是坏的。
我正在运行ElasticSearch 1.5.2,现在尝试使用Kibana 4.0.1,4.0.2和4.1-snapshot(在Ubuntu 14.04上),所有结果都相同。
我注意到的另一个影响:侧边栏没有显示任何可用字段&#39;。只有当我展开字段设置并取消勾选&#39;隐藏缺失的字段&#39;我将获取架构字段列表。 (这些都是灰色的,因为它们被Kibana认为是“缺失的。”但有趣的是,点击其中一个上的“可视化”以绘制其分发图表,再次完全没问题。)< / p>
我唯一怀疑的是:我的数据没有时间戳字段,所以也许这就是搞乱的事情。虽然从文档判断,但我认为应该支持非时间序列数据。
任何提示都赞赏!
答案 0 :(得分:1)
就我而言,原因是我将格式错误的JSON索引到elasticsearch中。它是有效的Javascript,但不是有效的JSON。特别是我忽略了引用对象中的键
我使用curl插入了我的(测试)数据,例如
curl -X PUT http://localhost:9200/foo/doc/1 -d '{ts: "2015-06-24T01:07:00.000Z", employeeId: 105, action: "PICK", quantity: 8}'
请注意,ts:应该是“ts”:等等。
看起来像弹性搜索容忍这样的事情,但Kibana没有。一旦我修好了,Discover工作得很好。
请注意,当出现错误时,您看到的错误是在客户端生成的。如果您打开客户端调试程序(例如Firefox),您将在控制台日志中看到错误。就我而言,错误消息是
错误:无法解析/序列化正文
如果您的错误不同,则会有不同的原因。
开始输入错误的JSON是我的错。奇怪的是,弹性搜索比Kibana更宽容。
答案 1 :(得分:0)
它也发生在我身上。我尝试了所有......:
我的问题是时间戳字段使用了错误的时间格式。我将其更改为此格式并且有效:“date”:“2015-05-13T00:00:00”
答案 2 :(得分:0)
我遇到了同样的问题。建议的解决方案都没有帮助。在Wireshark中比较工作版本和非工作版本时,我终于找到了问题。
不要在JSON前面发出UTF8字节顺序标记。不知何故,我的序列化程序设置为这样做... ElasticSearch很好用,但Kibana无法在Discover页面上处理它。