【发布时间】:2017-08-03 11:18:55
【问题描述】:
我在尝试从 mongoDB 数据库在 Kibana 上设置仪表板时遇到问题。
问题发生在复合索引上。我在 mongoDB 中有一个带有复合索引的集合:
sale : {"_id" : {"date" : Date,
"country" : String,
"game_id" : String },
"field_1" : String,
"field_n" : String}
我正在尝试使用 mongoDB 文档的 _id 字段中的日期生成 Kibana 仪表板。
为了从 Kibana 访问 mongoDB 数据库,我使用了 mongo-connector elastic2,一切似乎都正常,因为我可以在 Kibana 中正确查看所有字段以及文档。但是 _id 没有被解释,它显示为一个字符串而不是 3 个字段。
_id:{'game_id': 'com.id.game', 'date': datetime.datetime(2016, 6, 22, 0, 0), 'country': 'DZ'}
我想要让 Kibana 知道 _id 不是字符串,即字符串 (game_id)、日期 (date) 和字符串 (国家),并让我使用日期字段作为报告字段,但到目前为止我还没有成功。
有人知道我该怎么做吗? 非常感谢您提前。
【问题讨论】:
-
_id 是文档 id 的保留键。 ES 允许该字段使用字符串、整数类型而不是 json 对象。
-
我知道,这就是为什么它将我的日期、国家和游戏 ID 结构转换为纯字符串的原因,但是,我该怎么做才能恢复我的字段(日期、国家和游戏 ID)?
-
那么我会建议将_id字段映射到弹性中的其他字段。检查我的答案
标签: mongodb elasticsearch kibana compound-index