URL: http://127.0.0.1:9200/likecs_art_db/_search
REQUEST:
Array
(
    [query] => Array
        (
            [match] => Array
                (
                    [text] => Array
                        (
                            [query] => 常见的系统间接口方式(02)- 中间件的数据接口模式
                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [text] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [size] => 8
    [from] => 0
)
RESPONSE:
string(8336) "{"took":108,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":66.33347,"hits":[{"_index":"likecs_art_db","_type":"_doc","_id":"336168","_score":66.33347,"_source":{"id":"336168","text":"\u5e38\u89c1\u7684\u7cfb\u7edf\u95f4\u63a5\u53e3\u65b9\u5f0f\uff0802\uff09- \u4e2d\u95f4\u4ef6\u7684\u6570\u636e\u63a5\u53e3\u6a21\u5f0f","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"turnip","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1634486630"},"highlight":{"text":["#em#常#/em##em#见#/em##em#的#/em##em#系#/em##em#统#/em##em#间#/em##em#接#/em##em#口#/em##em#方#/em##em#式#/em#(#em#02#/em#)- #em#中#/em##em#间#/em##em#件#/em##em#的#/em##em#数#/em##em#据#/em##em#接#/em##em#口#/em##em#模#/em##em#式#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"316445","_score":53.063725,"_source":{"id":"316445","text":"\u5e38\u89c1\u7684\u7cfb\u7edf\u95f4\u63a5\u53e3\u65b9\u5f0f\uff0803\uff09- \u6587\u4ef6\u4f20\u8f93\u7684\u7cfb\u7edf\u63a5\u53e3\u6a21\u5f0f","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"turnip","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1636574793"},"highlight":{"text":["#em#常#/em##em#见#/em##em#的#/em##em#系#/em##em#统#/em##em#间#/em##em#接#/em##em#口#/em##em#方#/em##em#式#/em#(03)- 文#em#件#/em#传输#em#的#/em##em#系#/em##em#统#/em##em#接#/em##em#口#/em##em#模#/em##em#式#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"336171","_score":44.968777,"_source":{"id":"336171","text":"\u5e38\u89c1\u7684\u7cfb\u7edf\u95f4\u63a5\u53e3\u65b9\u5f0f\uff0801\uff09-\u8fdc\u7a0b\u51fd\u6570\u8c03\u7528","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"turnip","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1631846248"},"highlight":{"text":["#em#常#/em##em#见#/em##em#的#/em##em#系#/em##em#统#/em##em#间#/em##em#接#/em##em#口#/em##em#方#/em##em#式#/em#(01)-远程函#em#数#/em#调用"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"449676","_score":36.525513,"_source":{"id":"449676","text":"SAP\u7cfb\u7edf\u63a5\u53e3\u65b9\u5f0f\uff1a","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"rainysblog","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1633617186"},"highlight":{"text":["SAP#em#系#/em##em#统#/em##em#接#/em##em#口#/em##em#方#/em##em#式#/em#:"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"416519","_score":36.519436,"_source":{"id":"416519","text":"python\u63a5\u53e3\u6d4b\u8bd5\u4e2d\u5e38\u89c1\u7684\u4e24\u79cd\u63a5\u53e3\u4f9d\u8d56\u5904\u7406\u65b9\u5f0f","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"xiaogongjin","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1633057252"},"highlight":{"text":["python#em#接#/em##em#口#/em#测试#em#中#/em##em#常#/em##em#见#/em##em#的#/em#两种#em#接#/em##em#口#/em#依赖处理#em#方#/em##em#式#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"300697","_score":36.24543,"_source":{"id":"300697","text":"\u5e38\u89c1\u7684\u51e0\u79cd\u63a5\u53e3\u5f62\u5f0f","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"n1027","tagsname":"","tagsid":"","catesname":"","catesid":"","createtime":"1636674677"},"highlight":{"text":["#em#常#/em##em#见#/em##em#的#/em#几种#em#接#/em##em#口#/em#形#em#式#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"468288","_score":35.62646,"_source":{"id":"468288","text":"Java\u4e2d\u63a5\u53e3\u4e0e\u63a5\u53e3\u548c\u7c7b\u4e4b\u95f4\u7684\u5173\u7cfb","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"libinhong","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1639506034"},"highlight":{"text":["Java#em#中#/em##em#接#/em##em#口#/em#与#em#接#/em##em#口#/em#和类之#em#间#/em##em#的#/em#关#em#系#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"336120","_score":34.85791,"_source":{"id":"336120","text":"\u4f01\u4e1a\u4e2d\u7cfb\u7edf\u95f4\u7684\u51e0\u79cd\u5bf9\u63a5\u65b9\u5f0f","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"BillyYoung","tagsname":null,"tagsid":"","catesname":"","catesid":"","createtime":"1637588035"},"highlight":{"text":["企业#em#中#/em##em#系#/em##em#统#/em##em#间#/em##em#的#/em#几种对#em#接#/em##em#方#/em##em#式#/em#"]}}]}}"
URL: http://127.0.0.1:9200/likecs_art_db/_search
REQUEST:
Array
(
    [query] => Array
        (
            [match] => Array
                (
                    [text] => Array
                        (
                            [query] => 常见的系统间接口方式(02)- 中间件的数据接口模式
                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [text] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [size] => 8
    [from] => 8
)
RESPONSE:
string(7895) "{"took":122,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":66.33347,"hits":[{"_index":"likecs_art_db","_type":"_doc","_id":"38234","_score":34.701153,"_source":{"id":"38234","text":"\u8bb0\u5f55\u63a5\u53e3\u6267\u884c\u65f6\u95f4\u7684\u4e2d\u95f4\u4ef6","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"MicroHeart","tagsname":".Net Core|\u63a5\u53e3\u65f6\u95f4","tagsid":"[\"381\",15831]","catesname":".Net Core","catesid":"[\"134\"]","createtime":"1540891289"},"highlight":{"text":["记录#em#接#/em##em#口#/em#执行时#em#间#/em##em#的#/em##em#中#/em##em#间#/em##em#件#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"203404561","_score":34.554558,"_source":{"id":"203404561","text":"\u4e32\u53e3\u6570\u636e\u63a5\u6536\u7684\u5e38\u7528\u5904\u7406\u65b9\u5f0f","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1621067685"},"highlight":{"text":["串#em#口#/em##em#数#/em##em#据#/em##em#接#/em#收#em#的#/em##em#常#/em#用处理#em#方#/em##em#式#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"131740","_score":34.279488,"_source":{"id":"131740","text":" \u4fdd\u969c\u63a5\u53e3\u5b89\u5168\u76845\u79cd\u5e38\u89c1\u65b9\u5f0f","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"dc20181010","tagsname":"\u7814\u53d1\u7ba1\u7406|\u7f51\u5173|eolinker|API","tagsid":"[\"23148\",\"948\",29321,\"165\"]","catesname":"","catesid":"[]","createtime":"1619168998"},"highlight":{"text":["保障#em#接#/em##em#口#/em#安全#em#的#/em#5种#em#常#/em##em#见#/em##em#方#/em##em#式#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"203480361","_score":34.00271,"_source":{"id":"203480361","text":"Iterator \u63a5\u53e3\u4e0e Iterable \u63a5\u53e3\u4e4b\u95f4\u7684\u5173\u7cfb\u3010listIterator\u3011","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1629854557"},"highlight":{"text":["Iterator #em#接#/em##em#口#/em#与 Iterable #em#接#/em##em#口#/em#之#em#间#/em##em#的#/em#关#em#系#/em#【listIterator】"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"261461","_score":33.24828,"_source":{"id":"261461","text":"clock_gettime\u63a5\u53e3\u548clinux\u65f6\u95f4\u7cfb\u7edf","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"senior-engineer","tagsname":"","tagsid":"","catesname":null,"catesid":"","createtime":"1630349235"},"highlight":{"text":["clock_gettime#em#接#/em##em#口#/em#和linux时#em#间#/em##em#系#/em##em#统#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"773217","_score":33.177513,"_source":{"id":"773217","text":"\u5e38\u89c1\u6570\u636e\u5e93\u8fde\u63a5\u65b9\u5f0f","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"xujingyang","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1636760628"},"highlight":{"text":["#em#常#/em##em#见#/em##em#数#/em##em#据#/em#库连#em#接#/em##em#方#/em##em#式#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"516593","_score":33.1523,"_source":{"id":"516593","text":"Java \u5e38\u7528\u51fd\u6570\u5f0f\u63a5\u53e3\u4e4bConsumer\u63a5\u53e3","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"liyihua","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1635943028"},"highlight":{"text":["Java #em#常#/em#用函#em#数#/em##em#式#/em##em#接#/em##em#口#/em#之Consumer#em#接#/em##em#口#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"203314681","_score":33.01259,"_source":{"id":"203314681","text":"Bridge\u7684VLAN\u63a5\u53e3\u6a21\u5f0f","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n    color: [\r\n        ","username":"","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1642178049"},"highlight":{"text":["Bridge#em#的#/em#VLAN#em#接#/em##em#口#/em##em#模#/em##em#式#/em#"]}}]}}"
URL: http://192.168.101.128/searchcore/index.php/cihere_cn_db/_search
REQUEST:
Array
(
    [query] => Array
        (
            [match] => Array
                (
                    [title] => Array
                        (
                            [query] => 常见的系统间接口方式(02)- 中间件的数据接口模式
                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [title] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [from] => 0
)
RESPONSE:
bool(false)
URL: http://127.0.0.1:9200/likecs_down_db/_search
REQUEST:
Array
(
    [query] => Array
        (
            [bool] => Array
                (
                    [must] => Array
                        (
                            [0] => Array
                                (
                                    [match] => Array
                                        (
                                            [title] => Array
                                                (
                                                    [query] => 常见的系统间接口方式(02)- 中间件的数据接口模式
                                                )

                                        )

                                )

                        )

                    [must_not] => Array
                        (
                            [0] => Array
                                (
                                    [term] => Array
                                        (
                                            [cate1] => 电子书籍
                                        )

                                )

                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [title] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [size] => 5
    [from] => 0
)
RESPONSE:
string(3152) "{"took":14,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":35.980053,"hits":[{"_index":"likecs_down_db","_type":"_doc","_id":"70797","_score":35.980053,"_source":{"id":"70797","title":"Java\u4ee5webservice\u65b9\u5f0f\u8c03\u7528SAP\u63a5\u53e3\u4f20\u8f93\u6570\u636e \u4e2d\u6587PDF\u7248","spidertime":"1623126223","contenttime":"1677816901","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/161104\/112541593L9.png","tag":"Java|WebService|\u63a5\u53e3\u8c03\u7528|SAP\u63a5\u53e3|\u4f20\u8f93\u6570\u636e","cate1":"\u7535\u5b50\u4e66\u7c4d","cate2":"\u7f16\u7a0b\u5f00\u53d1","cate3":"java\u7535\u5b50\u4e66","attr1":"416KB"},"highlight":{"title":["Java以webservice#em#方#/em##em#式#/em#调用SAP#em#接#/em##em#口#/em#传输#em#数#/em##em#据#/em# #em#中#/em#文PDF版"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"35719","_score":35.980053,"_source":{"id":"35719","title":"Java\u4ee5webservice\u65b9\u5f0f\u8c03\u7528SAP\u63a5\u53e3\u4f20\u8f93\u6570\u636e \u4e2d\u6587PDF\u7248","spidertime":"1622960739","contenttime":"1670998587","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/161104\/112541593L9.png","tag":"Java|WebService|\u63a5\u53e3\u8c03\u7528|SAP\u63a5\u53e3|\u4f20\u8f93\u6570\u636e","cate1":"\u7535\u5b50\u4e66\u7c4d","cate2":"\u7f16\u7a0b\u5f00\u53d1","cate3":"java\u7535\u5b50\u4e66","attr1":"416KB"},"highlight":{"title":["Java以webservice#em#方#/em##em#式#/em#调用SAP#em#接#/em##em#口#/em#传输#em#数#/em##em#据#/em# #em#中#/em#文PDF版"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"54010","_score":33.263107,"_source":{"id":"54010","title":"discuz net \u6574\u5408asp\u7684\u63a5\u53e3","spidertime":"1623059232","contenttime":"1678191961","tag":"Discuz|Net|asp|\u63a5\u53e3","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"asp\u6e90\u7801","cate3":"asp\u5176\u5b83","attr1":"12KB"},"highlight":{"title":["discuz net 整合asp#em#的#/em##em#接#/em##em#口#/em#"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"68962","_score":32.824192,"_source":{"id":"68962","title":"CrapApi\u63a5\u53e3\u7ba1\u7406\u7cfb\u7edf v8.1.1","spidertime":"1623080581","contenttime":"1625002590","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/201107\/1530201094F.gif","tag":"\u7ba1\u7406\u7cfb\u7edf|\u63a5\u53e3|CrapApi","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"\u8f6f\u4ef6\u5f00\u53d1","cate3":"java\u6e90\u7801","attr1":"5.23MB"},"highlight":{"title":["CrapApi#em#接#/em##em#口#/em#管理#em#系#/em##em#统#/em# v8.1.1"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"10503","_score":32.824192,"_source":{"id":"10503","title":"CrapApi\u63a5\u53e3\u7ba1\u7406\u7cfb\u7edf v8.1.1","spidertime":"1622877622","contenttime":"1622877622","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/litimg\/201107\/1530201094F.gif","tag":"\u7ba1\u7406\u7cfb\u7edf|\u63a5\u53e3|CrapApi","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"\u8f6f\u4ef6\u5f00\u53d1","cate3":"java\u6e90\u7801","attr1":"5.23MB"},"highlight":{"title":["CrapApi#em#接#/em##em#口#/em#管理#em#系#/em##em#统#/em# v8.1.1"]}}]}}"
常见的系统间接口方式(02)- 中间件的数据接口模式 - 爱码网
turnip

导读 

中间件的数据接口模式,也会被称为中间数据库的数据交互模式,或者叫数据平台的数据交互。总的来说,就是在各个业务系统间,建立一个独立的数据库,保证系统间的数据交互。 

正文 

为什么要使用中间数据库的接口模式? 

对于很多企业来说,经常存在多个业务系统支持企业运转的情况。如果采用系统间相互的函数调用模式,会导致接口过多,难以管理。基于此情况,多数企业会选择采用中间数据库,以满足多个系统间的数据流转。如下图所示:

 

企业很多时候不愿意大规模采用RFC调用的接口模式,常基于且不限于以下几个原因: 

1.很明显,基于上图中只有5个系统,但其接口的复杂性已经较高了。

对于企业来说,类似上图中的接口模式,是不易管理的。而且,实际业务中,稍有规模的企业,都存在多个系统,并且各个系统之间存在数据接口。

在类似此种情况下,如果均采用点对点的相互调用接口,对接口以后的维护成本会很高。随着业务发展,很有可能最后谁也不知道某个接口的是否被使用,或者某个接口到底如何被使用。  

2.RFC调用接口是系统点对点的接口模式,必须要求接口两端的功能均可用,这就有可能会影响业务的及时性。

比如,常见的生产管理系统,一般其业务及时性要求很高,生产上发生一笔业务,通过RFC调用传输给ERP,但是ERP系统可能因为财务账期、其他程序锁表等,导致RFC接口无法立刻被调用成功。但生产管理系统又不可能一直等待ERP系统的执行,这样就会出现难以调和的矛盾。 

3.其实,很多时候,基于数据安全、信息安全等多方面的考虑,很多系统并不愿意给其他调用自己系统功能的权限。这样,也就限制了RFC接口模式的使用。 

基于上述的弊端,企业为了降低系统接口统一管理的难度,以及接口后期的维护成本,结合从安全及业务及时性等角度的综合考虑,一般会采取建立中间数据库的接口方式。 

那么,中间数据库接口模式的工作机制是什么? 

如果两个业务系统,采用建立中间数据库的模式进行数据交互,其工作原理可以简单理解为:

首先,会部署一个专门的数据库或者数据系统,也有称为数据平台等。实际上,就是个专门用于存储系统间交互数据的数据库。

其次,业务系统不会直接将要传输的数据,传输给其他业务系统,而是会传输给这个中间的数据库,要使用数据的业务系统,会主动去中间数据库取自己需要的数据。

如下图所示,A系统会将数据写入至中间数据库,B系统会取中间数据库去取需要的数据,反之亦然。

  

采取中间数据库的接口方式,在实际使用中,一般是存在语多个系统之间的数据交互业务,如下图所示。

 

基于上图,我们对比之前多系统接口采取RFC方式的图例,我们很容易看出来,采取中间数据库接口的交互方式,其接口更加容易管理,且交互方式更加安全。 

那么,中间数据库就能完美适用于所有系统接口的业务吗?当然不是。 

中间数据库的接口模式,其主要弊端,如下。 

1.数据接受的系统,不能够及时处理数据,不能够在第一时间验证数据的业务及系统层面的准确性。

这种弊端,很有可能导致,传输数据的系统将数据写入中间数据库,但是,需要接受数据的系统,在中间数据库读取数据时,才发现数据有问题,而无法正常使用。

此种情况,作为接收数据的系统,很难在第一时间对数据进行管控和校验。

 

比如,我曾在项目中遇到过一种情况,某企业针对SAP系统与MES系统的接口,采取了中间数据库的接口模式。

当发生原材料领用的业务时,首先,MES系统出库过账,进而将数据传输给中间数据库,SAP系统会取中间数据库的数据,完成过账。

但是,实际执行中,某物料的库存只有10个,MES系统中的程序计算错误,显示库存有12个,用户执行领用12个,且在MES系统中领用成功。此时,当领用12个的数据传输给SAP,由于SAP中的库存数量只有10个,无法针对领用量12进行过账,最终出现问题。 

基于这一案例,如果我们采取的是RFC的接口模式,一旦领用数量大于库存数量,在SAP端就无法过账,直接就反馈给MES了,MES系统也会停止出库领用,用户会去查询具体数据原因。但是,采用了中间数据的接口方式,其校验就会比较滞后,容易产生问题。 

2.接受数据的系统,什么时候去数据库取数据? 

其实,基于列举的第一个问题,我们不难看出,中间数据库的接口模式,对于数据接收方的系统来说,有一个问题:应该在什么时候去取数据?

因为基于上述工作机制,数据发送方的系统在给中间数据库写入数据时,数据接收方的系统并不知道。

所以,我们常见的处理方式就是定义自动的系统后台Job,也有的系统会称为后台timer。 

简言之,我们就会在系统中定义一个程序,每个一段时间自动去中间数据库取一次。根据业务的及时性要求不同,我们可以定义不同的时间段,比如每十分钟取一次,或者每小时取一次,或者每天取一次等。

 采取自动后台Job的方式,可能带来的问题,也比较明显:数据发出方的系统,在某天只写入了三次数据,如果数据接收方定义每小时取一次,那么,实际取数据的次数是24次,对于系统服务器来说,为了3次数据,却需要执行24次程序,这就有些占用服务器资源了。

对于一些业务较多、系统交互较多的企业,排程系统后台Job就变成了一项非常重要的工作。这要基于业务要求本身,系统程序大小等因素,去决定job的执行频率及执行顺序。

比如,实际情况中,很多取数程序的本身必须有先后顺序,必须得先取某数据,才能取其他数据;有的程序太大、所取数据太多,就不能排在生产时间去取数,因为其很有可能占用过多服务器资源,导致其他业务难以顺利执行,所以,一般此类Job,会被安排在凌晨执行,等等。 

3.鸡蛋被放在了一个篮子里。

基于中间数据库的接口模式,我们很容易就能看出来,如果过于集中地使用中间数据库或者数据平台等,意味着我们把核心数据都放在了一个数据库中。如果这个数据库出现问题,就有可能大面积影响相关系统的正常运转。基于这种情况,如果采取中间数据库的方式,其系统安全策略及相关灾备系统等的措施,就非常重要了。

4.非企业本身的外部系统,如果需要与企业自己的系统进行数据交互,那么,基于安全层面的考虑,不会建议外部企业的系统直接访问内部数据库。

 

 那么,如果外部系统与企业内部系统有数据交互需求的话,应该如何进行数据接口呢?

 这个问题就引出了我们下一篇要介绍的内容:“文件传输的系统接口模式”。

 转自:https://mp.weixin.qq.com/s/uq9DfxE5_cvAsitqlcblBg

分类:

技术点:

相关文章:

  • 2018-10-30
  • 2021-05-15
  • 2021-04-23
  • 2021-08-25
  • 2021-08-31
  • 2021-11-13
  • 2021-11-03
  • 2022-01-15
猜你喜欢
  • 2021-11-11
  • 2021-09-17
  • 2021-10-07
  • 2021-10-01
  • 2021-11-12
  • 2021-12-15
  • 2021-11-22
相关资源
相似解决方案