我具有以下JSON结构:
{
"Dataset": "kh_offers",
"Instance": "20140817",
"Record": [{
"45": "{\"errorCode\":null,\"runStatusId\":null,\"lakeHdfsPath\":\"/user/jmblnvr/20140817_011500_zoot_kohls_offer_init.dat\",\"fieldIndex\":45,\"datasetFieldName\":\"PRESENTABLE_FLAG\",\"datasetFieldSum\":0.0,\"datasetFieldMin\":0.0,\"datasetFieldMax\":0.0,\"datasetFieldMean\":0.0,\"datasetFieldSigma\":0.0,\"datasetFieldNullCount\":0.0,\"datasetFieldObsCount\":0.0,\"datasetFieldKurtosis\":0.0,\"datasetFieldSkewness\":0.0,\"frequencyDistribution\":\"(T,170544)\",\"id\":null,\"fieldType\":\"STRING\"}"
}, {
"30": "{\"errorCode\":null,\"runStatusId\":null,\"lakeHdfsPath\":\"/user/jmblnvr/20140817_011500_zoot_kohls_offer_init.dat\",\"fieldIndex\":30,\"datasetFieldName\":\"FIRST_PYMT_DATE\",\"datasetFieldSum\":0.0,\"datasetFieldMin\":0.0,\"datasetFieldMax\":0.0,\"datasetFieldMean\":0.0,\"datasetFieldSigma\":0.0,\"datasetFieldNullCount\":0.0,\"datasetFieldObsCount\":0.0,\"datasetFieldKurtosis\":0.0,\"datasetFieldSkewness\":0.0,\"frequencyDistribution\":null,\"id\":null,\"fieldType\":\"STRING\"}"
}]
}
我想知道为什么 flex 搜索无法处理此嵌套结构?是因为我的作家在编写它时使用奇怪的\使其成为有效的JSON吗?还有其他原因吗?
Elastic Search正在获取前三个字段,但是当我深入记录时,它只是在考虑它的一个整体字符串。
最佳答案
您将其作为字符串传递,因为您已将其用引号引起来并且将“内部”引号转义。只需传入JSON:
{
"Dataset": "kh_offers",
"Instance": "20140817",
"Record": [{
"45": {
"errorCode": null,
"runStatusId": null,
"lakeHdfsPath": "/user/jmblnvr/20140817_011500_zoot_kohls_offer_init.dat",
"fieldIndex": 45,
"datasetFieldName": "PRESENTABLE_FLAG",
"datasetFieldSum": 0.0,
"datasetFieldMin": 0.0,
"datasetFieldMax": 0.0,
"datasetFieldMean": 0.0,
"datasetFieldSigma": 0.0,
"datasetFieldNullCount": 0.0,
"datasetFieldObsCount": 0.0,
"datasetFieldKurtosis": 0.0,
"datasetFieldSkewness": 0.0,
"frequencyDistribution": "(T,170544)",
"id": null,
"fieldType": "STRING"
}
}, {
"30": {
"errorCode": null,
"runStatusId": null,
"lakeHdfsPath": "/user/jmblnvr/20140817_011500_zoot_kohls_offer_init.dat",
"fieldIndex": 30,
"datasetFieldName": "FIRST_PYMT_DATE",
"datasetFieldSum": 0.0,
"datasetFieldMin": 0.0,
"datasetFieldMax": 0.0,
"datasetFieldMean": 0.0,
"datasetFieldSigma": 0.0,
"datasetFieldNullCount": 0.0,
"datasetFieldObsCount": 0.0,
"datasetFieldKurtosis": 0.0,
"datasetFieldSkewness": 0.0,
"frequencyDistribution": null,
"id": null,
"fieldType": "STRING"
}
}]
}
关于elasticsearch - 弹性检索中的嵌套JSON没有被提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34168476/