Elasticsearch Profile API 使用教程:优化查询性能
Elasticsearch Profile API \u662f\u4e00\u4e2a\u7528\u4e8e\u68c0\u67e5\u548c\u4f18\u5316\u67e5\u8be2\u6027\u80fd\u7684\u5de5\u5177\u3002\u5b83\u63d0\u4f9b\u4e86\u4e00\u79cd\u65b9\u6cd5\u6765\u67e5\u770b\u67e5\u8be2\u7684\u8be6\u7ec6\u7edf\u8ba1\u4fe1\u606f\uff0c\u5305\u62ec\u67e5\u8be2\u7684\u6267\u884c\u65f6\u95f4\u3001\u5185\u5b58\u4f7f\u7528\u72b6\u51b5\u3001IO\u64cd\u4f5c\u7b49\u3002\n\n\u4ee5\u4e0b\u662f\u00a0Elasticsearch Profile API\u7684\u4f7f\u7528\u6559\u7a0b\uff1a\n\n1\uff0e\u53d1\u9001 Profile API\u8bf7\u6c42\n\u8981\u4f7f\u7528 Profile API\uff0c\u60a8\u9700\u8981\u53d1\u9001\u4e00\u4e2a HTTP POST\u8bf7\u6c42\u5230 Elasticsearch\u670d\u52a1\u5668\u7684 _search\u7aef\u70b9\uff0c\u5e76\u5728\u8bf7\u6c42\u4f53\u4e2d\u5305\u542b\u4e00\u4e2a profile\u53c2\u6570\u3002\u4f8b\u5982\uff1a\nPOST /index_name/_search?profile=true\n{\n "query": {\n "match_all": {}\n }\n}\n\n\u8fd9\u5c06\u8fd4\u56de\u67e5\u8be2\u7684\u5b8c\u6574\u6027\u80fd\u5206\u6790\u7ed3\u679c\u3002\n\n2\uff0e\u67e5\u770b Profile\u7ed3\u679c\n\u5728\u4e0a\u4e00\u6b65\u4e2d\u53d1\u9001\u7684\u8bf7\u6c42\u4e2d\uff0cElasticsearch\u670d\u52a1\u5668\u5c06\u8fd4\u56de\u4e00\u4e2a\u5305\u542b\u67e5\u8be2\u6027\u80fd\u5206\u6790\u7ed3\u679c\u7684 JSON\u54cd\u5e94\u3002\u60a8\u53ef\u4ee5\u5728 profile\u5b57\u6bb5\u4e2d\u67e5\u770b\u8fd9\u4e9b\u7ed3\u679c\u3002\u4f8b\u5982\uff1a\n\n{\n ...\n "profile": {\n "shards": [\n {\n "id": "[index-name][0]",\n "searches": [\n {\n "query": {\n "type": "MatchAllDocsQuery",\n "description": "match_all"\n },\n "time": 10,\n "breakdown": {\n "score": 5,\n "build_scorer": 3,\n "match": 2\n }\n }\n ]\n }\n ]\n }\n}\n\n\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d\uff0cshards\u5b57\u6bb5\u5305\u542b\u4e86\u6bcf\u4e2a\u5206\u7247\u7684\u6027\u80fd\u5206\u6790\u7ed3\u679c\u3002\u5728\u6bcf\u4e2a\u5206\u7247\u4e2d\uff0csearches\u5b57\u6bb5\u5305\u542b\u4e86\u67e5\u8be2\u7684\u6027\u80fd\u5206\u6790\u7ed3\u679c\u3002\u60a8\u53ef\u4ee5\u67e5\u770b time\u5b57\u6bb5\u6765\u83b7\u5f97\u67e5\u8be2\u7684\u6267\u884c\u65f6\u95f4\uff0c\u5e76\u67e5\u770b breakdown\u5b57\u6bb5\u6765\u4e86\u89e3\u67e5\u8be2\u7684\u5404\u4e2a\u7ec4\u6210\u90e8\u5206\u7684\u6267\u884c\u65f6\u95f4\u3002\n\n3\uff0e\u4f18\u5316\u67e5\u8be2\u6027\u80fd\n\u901a\u8fc7\u5206\u6790 Profile\u7ed3\u679c\uff0c\u60a8\u53ef\u4ee5\u4e86\u89e3\u5230\u67e5\u8be2\u7684\u6027\u80fd\u75c7\u70b9\u5728\u54ea\u91cc\u3002\u4f8b\u5982\uff0c\u5982\u679c build_scorer\u9636\u6bb5\u82b1\u8d39\u4e86\u5f88\u957f\u65f6\u95f4\uff0c\u90a3\u4e48\u53ef\u80fd\u662f\u7531\u4e8e\u67e5\u8be2\u4e2d\u7684\u67d0\u4e2a\u590d\u6742\u7684\u8bc4\u5206\u51fd\u6570\u5bfc\u81f4\u7684\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u8fd9\u4e9b\u4fe1\u606f\u6765\u4f18\u5316\u67e5\u8be2\uff0c\u4f8b\u5982\u8c03\u6574\u8bc4\u5206\u51fd\u6570\u3001\u6dfb\u52a0\u7d22\u5f15\u7b49\u3002\n\n\u603b\u7ed3\uff1a\nElasticsearch Profile API\u63d0\u4f9b\u4e86\u4e00\u79cd\u65b9\u6cd5\u6765\u68c0\u67e5\u548c\u4f18\u5316\u67e5\u8be2\u6027\u80fd\u3002\u901a\u8fc7\u53d1\u9001 Profile API\u8bf7\u6c42\u5e76\u67e5\u770b\u54cd\u5e94\u4e2d\u7684\u6027\u80fd\u5206\u6790\u7ed3\u679c\uff0c\u60a8\u53ef\u4ee5\u4e86\u89e3\u67e5\u8be2\u7684\u6267\u884c\u65f6\u95f4\u548c\u5404\u4e2a\u9636\u6bb5\u7684\u6027\u80fd\u6307\u6807\uff0c\u5e76\u6839\u636e\u8fd9\u4e9b\u4fe1\u606f\u6765\u4f18\u5316\u67e5\u8be2\u3002
原文地址: https://www.cveoy.top/t/topic/p3F8 著作权归作者所有。请勿转载和采集!