我正在尝试为我的数据添加时间戳,让 elasticsearch-py 对其进行批量索引,然后使用 kibana 显示数据。
我的数据显示在 kibana 中,但没有使用我的时间戳。当我在配置我的索引模式后转到“发现”选项卡时,我得到 0 个结果(是的,我尝试调整搜索时间)。
这是我的批量索引 json 的样子:
{'index':
{'_timestamp': u'2015-08-11 14:18:26',
'_type': 'webapp_fingerprint',
'_id': u'webapp_id_redacted_2015_08_13_12_39_34',
'_index': 'webapp_index'
}
}
****JSON DATA HERE***
这将被 elasticsearch 接受并被导入 Kibana,但 _timestamp 字段实际上不会被索引(在“时间字段名称”下配置索引模式时,它确实显示在下拉列表中)。
我还尝试像这样格式化元字段:
{'index': {
'_type': 'webapp_fingerprint',
'_id': u'webapp_id_redacted_2015_08_13_12_50_04',
'_index': 'webapp_index'
},
'source': {
'_timestamp': {
'path': u'2015-08-11 14:18:26',
'enabled': True,
'format': 'YYYY-MM-DD HH:mm:ss'
}
}
}
这也行不通。
最后,我尝试在索引中包含 _timestamp 字段并应用格式,但我在使用 elasticsearch 时遇到错误。
{'index': {
'_timestamp': {
'path': u'2015-08-11 14:18:26',
'enabled': True,
'format': 'YYYY-MM-DD HH:mm:ss'
},
'_type': 'webapp_fingerprint',
'_id': u'webapp_id_redacted_2015_08_13_12_55_53',
'_index': 'webapp_index'
}
}
错误是:
elasticsearch.exceptions.TransportError: TransportError(500,u'IllegalArgumentException[Malformed action/metadata line [1], expected a simple value for field [_timestamp] but found [START_OBJECT]]')
任何人可以提供的帮助将不胜感激。如果我没有很好地解释这个问题,我深表歉意。如果我需要澄清更多,请告诉我。谢谢。