semi-structured data 什么是半结构化数据?( 二 )


Elastic Search如何处理半结构化数据Elastic Search可以用来保存json类型的半结构化的数据,并提供更具json的schema定义的字段进行信息查询 。
它首先定义了一个通用的文档格式(包含_index,_type,_id,_version,_score,_source等),然后我们可以根据业务需要来定义自己的schema,把数据保存到_source字段 。
比如:
{"_index": "deltadata_v1",---- common fields"_type": "_doc", ---- common fields"_id": "share_issued_and_asset_raised-F00001468C-20200730", ---- common fields"_version": 1, ---- common fields"_score": null, ---- common fields"_source": {----- 根据需要自定义自己的数据格式,在自己的schema中,也可以根据不同的数据类型,来动态的设置data字段的schema"kafkaWorkflow": "share_issued_and_asset_raised","instrumentId": "F00001468C","asOfDate": 20200730,"updatedOn": 1596182547005,"kafkaTimestamp": 1596182540033,"data": {"PreferredAssetRaised": null,"ShareOutstanding": 3704772.13,"SharePubliclyTraded": null,"AssetRaised": null,"NumberOfShareHolder": null,"CommonShareOutstanding": null,"IPOValue": "0","ShareAuthorized": null,"CommonAssetRaised": null}}}数据保存到数据库之后,我们可以根据自己定义的json schema进行内容检索,例如
GET /deltadata/_doc/_search?pretty&version=true{"query": {"bool": {"must": [{ "match": { "kafkaWorkflow":"share_issued_and_asset_raised" }}]}},"sort":{"updatedOn": { "order": "desc" }}}



推荐阅读