elasticsearch - 弹性检索中的嵌套JSON没有被提取

标签 elasticsearch

我具有以下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/

相关文章:

elasticsearch - Elastic Search 中带有附加条件的 Completion Suggester

elasticsearch - Grafana中没有提供带有Elasticsearch数据源的指标

ssh - 通过 SSH 远程访问 Elasticsearch

function - 如何在elasticsearch中调用存储的无痛脚本函数

ElasticSearch - 比较两个时间段内的不同值

elasticsearch - 配置ElasticSearch的端口号

ElasticSearch:在具有复杂对象的数组中查找多个唯一值

elasticsearch - 反向嵌套聚合和

elasticsearch - 如何使用Elasticsearch在查询中使用特殊命令进行搜索?

python - 使用 Elasticsearch python API执行查询时出错