{"id":40633,"date":"2022-12-05T08:01:04","date_gmt":"2023-12-10T18:24:17","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/"},"modified":"2024-04-29T03:49:13","modified_gmt":"2024-04-28T19:49:13","slug":"%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/","title":{"rendered":"\u521b\u5efa Elasticsearch \u63d2\u4ef6 (2)"},"content":{"rendered":"<p>\u521b\u4f5cElasticsearch\u63d2\u4ef6\u7684\u7b2c\u4e8c\u5f39\u3002<br \/>\n\u4e0a\u4e00\u6b21\u57fa\u4e8ecat\u63d2\u4ef6\u4ec5\u4ec5\u5c55\u793a\u4e86\u7b80\u5355\u7684\u5b57\u7b26\u4e32\uff0c\u800c\u8fd9\u4e00\u6b21\u6211\u4eec\u5c06\u589e\u52a0\u4e00\u4e9b\u529f\u80fd\uff0c\u4ee5\u5c55\u793aElasticsearch\u5185\u90e8\u7684\u4fe1\u606f\u3002<\/p>\n<p>\u4ee3\u7801\u5728\u8fd9\u91cc\u3002<\/p>\n<p>\u73b0\u5728\u6211\u4f1a\u7528\u4e2d\u56fd\u6bcd\u8bed\u7ed9\u60a8\u7b80\u5355\u89e3\u91ca\u4e00\u4e0b<\/p>\n<h1>\u73af\u5883<\/h1>\n<p>\u4e0e\u4e0a\u6b21\u6ca1\u6709\u53d8\u5316<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Java8<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Maven3<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Elasticsearch6.5.4<\/ul>\n<h1>\u5b9e\u65bd<\/h1>\n<p>\u65e0\u8bba\u63d2\u4ef6\u5982\u4f55\uff0c\u88ab\u9996\u5148\u8c03\u7528\u7684\u7c7b\u90fd\u662f\u4e0d\u53d8\u7684\u3002<\/p>\n<pre class=\"post-pre\"><code>  <span class=\"mi\">1<\/span> <span class=\"kn\">package<\/span> <span class=\"nn\">org.elasticsearch.plugin.example<\/span><span class=\"o\">;<\/span>\r\n  <span class=\"mi\">2<\/span>\r\n  <span class=\"mi\">3<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.cluster.metadata.IndexNameExpressionResolver<\/span><span class=\"o\">;<\/span>\r\n  <span class=\"mi\">4<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.cluster.node.DiscoveryNodes<\/span><span class=\"o\">;<\/span>\r\n  <span class=\"mi\">5<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.common.settings.ClusterSettings<\/span><span class=\"o\">;<\/span>\r\n  <span class=\"mi\">6<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.common.settings.IndexScopedSettings<\/span><span class=\"o\">;<\/span>\r\n  <span class=\"mi\">7<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.common.settings.Settings<\/span><span class=\"o\">;<\/span>\r\n  <span class=\"mi\">8<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.common.settings.SettingsFilter<\/span><span class=\"o\">;<\/span>\r\n  <span class=\"mi\">9<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.plugins.ActionPlugin<\/span><span class=\"o\">;<\/span>\r\n <span class=\"mi\">10<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.plugins.Plugin<\/span><span class=\"o\">;<\/span>\r\n <span class=\"mi\">11<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.rest.RestController<\/span><span class=\"o\">;<\/span>\r\n <span class=\"mi\">12<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">org.elasticsearch.rest.RestHandler<\/span><span class=\"o\">;<\/span>\r\n <span class=\"mi\">13<\/span>\r\n <span class=\"mi\">14<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">java.util.List<\/span><span class=\"o\">;<\/span>\r\n <span class=\"mi\">15<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">java.util.function.Supplier<\/span><span class=\"o\">;<\/span>\r\n <span class=\"mi\">16<\/span>\r\n <span class=\"mi\">17<\/span> <span class=\"kn\">import<\/span> <span class=\"nn\">static<\/span> <span class=\"n\">java<\/span><span class=\"o\">.<\/span><span class=\"na\">util<\/span><span class=\"o\">.<\/span><span class=\"na\">Collections<\/span><span class=\"o\">.<\/span><span class=\"na\">singletonList<\/span><span class=\"o\">;<\/span>\r\n <span class=\"mi\">18<\/span>\r\n <span class=\"mi\">19<\/span> <span class=\"kd\">public<\/span> <span class=\"kd\">class<\/span> <span class=\"nc\">ExamplePlugin<\/span> <span class=\"kd\">extends<\/span> <span class=\"nc\">Plugin<\/span> <span class=\"kd\">implements<\/span> <span class=\"nc\">ActionPlugin<\/span> <span class=\"o\">{<\/span>\r\n <span class=\"mi\">20<\/span>     <span class=\"nd\">@Override<\/span>\r\n <span class=\"mi\">21<\/span>     <span class=\"kd\">public<\/span> <span class=\"nc\">List<\/span><span class=\"o\">&lt;<\/span><span class=\"nc\">RestHandler<\/span><span class=\"o\">&gt;<\/span> <span class=\"nf\">getRestHandlers<\/span><span class=\"o\">(<\/span><span class=\"kd\">final<\/span> <span class=\"nc\">Settings<\/span> <span class=\"n\">settings<\/span><span class=\"o\">,<\/span>\r\n <span class=\"mi\">22<\/span>                                              <span class=\"kd\">final<\/span> <span class=\"nc\">RestController<\/span> <span class=\"n\">restController<\/span><span class=\"o\">,<\/span>\r\n <span class=\"mi\">23<\/span>                                              <span class=\"kd\">final<\/span> <span class=\"nc\">ClusterSettings<\/span> <span class=\"n\">clusterSettings<\/span><span class=\"o\">,<\/span>\r\n <span class=\"mi\">24<\/span>                                              <span class=\"kd\">final<\/span> <span class=\"nc\">IndexScopedSettings<\/span> <span class=\"n\">indexScopedSettings<\/span><span class=\"o\">,<\/span>\r\n <span class=\"mi\">25<\/span>                                              <span class=\"kd\">final<\/span> <span class=\"nc\">SettingsFilter<\/span> <span class=\"n\">settingsFilter<\/span><span class=\"o\">,<\/span>\r\n <span class=\"mi\">26<\/span>                                              <span class=\"kd\">final<\/span> <span class=\"nc\">IndexNameExpressionResolver<\/span> <span class=\"n\">indexNameExpressionResolver<\/span><span class=\"o\">,<\/span>\r\n <span class=\"mi\">27<\/span>                                              <span class=\"kd\">final<\/span> <span class=\"nc\">Supplier<\/span><span class=\"o\">&lt;<\/span><span class=\"nc\">DiscoveryNodes<\/span><span class=\"o\">&gt;<\/span> <span class=\"n\">nodesInCluster<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span>\r\n <span class=\"mi\">28<\/span>\r\n <span class=\"mi\">29<\/span>         <span class=\"k\">return<\/span> <span class=\"n\">singletonList<\/span><span class=\"o\">(<\/span><span class=\"k\">new<\/span> <span class=\"nc\">ExampleDogAction<\/span><span class=\"o\">(<\/span><span class=\"n\">settings<\/span><span class=\"o\">,<\/span> <span class=\"n\">restController<\/span><span class=\"o\">));<\/span>\r\n <span class=\"mi\">30<\/span>     <span class=\"o\">}<\/span>\r\n <span class=\"mi\">31<\/span> <span class=\"o\">}<\/span>\r\n<\/code><\/pre>\n<p>\u5904\u7406\u7684\u5b9e\u9645\u662f\u8fd9\u4e2aExampleDogAction\u7c7b\u3002<\/p>\n<pre class=\"post-pre\"><code>  1 package org.elasticsearch.plugin.example;\r\n  2\r\n  3 import org.elasticsearch.action.admin.cluster.node.info.NodeInfo;\r\n  4 import org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequest;\r\n  5 import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse;\r\n  6 import org.elasticsearch.action.admin.cluster.state.ClusterStateRequest;\r\n  7 import org.elasticsearch.action.admin.cluster.state.ClusterStateResponse;\r\n  8 import org.elasticsearch.client.node.NodeClient;\r\n  9 import org.elasticsearch.cluster.node.DiscoveryNode;\r\n 10 import org.elasticsearch.cluster.node.DiscoveryNodes;\r\n 11 import org.elasticsearch.client.node.NodeClient;\r\n 12 import org.elasticsearch.common.inject.Inject;\r\n 13 import org.elasticsearch.common.Table;\r\n 14 import org.elasticsearch.common.settings.Settings;\r\n 15 import org.elasticsearch.plugins.PluginInfo;\r\n 16 import org.elasticsearch.http.HttpInfo;\r\n 17 import org.elasticsearch.monitor.os.OsInfo;\r\n 18 import org.elasticsearch.rest.BaseRestHandler;\r\n 19 import org.elasticsearch.rest.BytesRestResponse;\r\n 20 import org.elasticsearch.rest.RestController;\r\n 21 import org.elasticsearch.rest.RestRequest;\r\n 22 import org.elasticsearch.rest.RestStatus;\r\n 23 import org.elasticsearch.rest.RestResponse;\r\n 24 import org.elasticsearch.rest.action.RestActionListener;\r\n 25 import org.elasticsearch.rest.action.RestResponseListener;\r\n 26 import org.elasticsearch.rest.action.cat.RestTable;\r\n 27\r\n 28 import static org.elasticsearch.rest.RestRequest.Method.GET;\r\n 29 import static org.elasticsearch.rest.RestRequest.Method.POST;\r\n 30\r\n 31 import java.io.IOException;\r\n 32 import java.util.List;\r\n 33\r\n 34 \/**\r\n 35  * Example of adding a cat action with a plugin.\r\n 36  *\/\r\n 37 public class ExampleDogAction extends BaseRestHandler {\r\n 38     @Inject\r\n 39     ExampleDogAction(final Settings settings, final RestController controller) {\r\n 40         super(settings);\r\n 41         controller.registerHandler(GET, \"\/_dog\", this);\r\n 42     }\r\n 43\r\n 44     @Override\r\n 45     public String getName() {\r\n 46         return \"rest_handler_dog_example\";\r\n 47     }\r\n 48\r\n 49         @Override\r\n 50     public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {\r\n 51         \/\/ Cluster\u306e\u60c5\u5831\u3092\u5f15\u3063\u5f35\u308a\u51fa\u3059\r\n 52         final ClusterStateRequest clusterStateRequest = new ClusterStateRequest();\r\n 53         clusterStateRequest.clear().nodes(true);\r\n 54         clusterStateRequest.local(request.paramAsBoolean(\"local\", clusterStateRequest.local()));\r\n 55         clusterStateRequest.masterNodeTimeout(request.paramAsTime(\"master_timeout\", clusterStateRequest.masterNodeTimeout()));\r\n 56\r\n 57         return channel -&gt; client.admin().cluster().state(clusterStateRequest, new RestActionListener&lt;ClusterStateResponse&gt;(channel) {\r\n 58             @Override\r\n 59             public void processResponse(final ClusterStateResponse clusterStateResponse) throws Exception {\r\n 60                 NodesInfoRequest nodesInfoRequest = new NodesInfoRequest();\r\n 61                 nodesInfoRequest.clear().plugins(true);\r\n 62                 client.admin().cluster().nodesInfo(nodesInfoRequest, new RestResponseListener&lt;NodesInfoResponse&gt;(channel) {\r\n 63                     @Override\r\n 64                     public RestResponse buildResponse(final NodesInfoResponse nodesInfoResponse) throws Exception {\r\n 65                         return RestTable.buildResponse(buildTable(request, clusterStateResponse, nodesInfoResponse), channel);\r\n 66                     }\r\n 67                 });\r\n 68             }\r\n 69         });\r\n 70     }\r\n 71\r\n 72     protected Table getTableWithHeader(final RestRequest request) {\r\n 73         Table table = new Table();\r\n 74         table.startHeaders();\r\n 75         table.addCell(\"id\", \"default:false;desc:unique node id\");\r\n 76         table.addCell(\"name\", \"alias:n;desc:node name\");\r\n 77         table.addCell(\"hostName\", \"alias:n;desc:node host name\");\r\n 78         table.addCell(\"component\", \"alias:c;desc:component\");\r\n 79         table.addCell(\"version\", \"alias:v;desc:component version\");\r\n 80         table.addCell(\"description\", \"alias:d;default:false;desc:plugin details\");\r\n 81         table.endHeaders();\r\n 82         return table;\r\n 83     }\r\n 84\r\n 85\r\n 86     private Table buildTable(RestRequest req, ClusterStateResponse state, NodesInfoResponse nodesInfo) {\r\n 87         DiscoveryNodes nodes = state.getState().nodes();\r\n 88         Table table = getTableWithHeader(req);\r\n 89\r\n 90         for (DiscoveryNode node : nodes) {\r\n 91             NodeInfo info = nodesInfo.getNodesMap().get(node.getId());\r\n 92\r\n 93             for (PluginInfo pluginInfo : info.getPlugins().getPluginInfos()) {\r\n 94                 table.startRow();\r\n 95                 table.addCell(node.getId());\r\n 96                 table.addCell(node.getName());\r\n 97                 table.addCell(node.getHostName());\r\n 98                 table.addCell(pluginInfo.getName());\r\n 99                 table.addCell(pluginInfo.getVersion());\r\n100                 table.addCell(pluginInfo.getDescription());\r\n101                 table.endRow();\r\n102             }\r\n103         }\r\n104\r\n105         return table;\r\n106     }\r\n107 }\r\n<\/code><\/pre>\n<p>\u8bf7\u770b\u7b2c86\u884c\u9644\u8fd1\u3002\u5728buildTable\u65b9\u6cd5\u4e2d\uff0c\u6211\u5df2\u7ecf\u7f16\u5199\u4e86\u4ee3\u7801\u6765\u83b7\u53d6Node\u7684\u4fe1\u606f\uff0c\u5e76\u663e\u793a\u6240\u5b89\u88c5\u7684\u63d2\u4ef6\u7684\u4fe1\u606f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u521b\u4f5cElasticsearch\u63d2\u4ef6\u7684\u7b2c\u4e8c\u5f39\u3002 \u4e0a\u4e00\u6b21\u57fa\u4e8ecat\u63d2\u4ef6\u4ec5\u4ec5\u5c55\u793a\u4e86\u7b80\u5355\u7684\u5b57\u7b26\u4e32\uff0c\u800c\u8fd9\u4e00\u6b21\u6211\u4eec\u5c06\u589e\u52a0\u4e00 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-40633","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u521b\u5efa Elasticsearch \u63d2\u4ef6 (2) - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u521b\u5efa-elasticsearch-\u63d2\u4ef6-2\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u521b\u5efa Elasticsearch \u63d2\u4ef6 (2)\" \/>\n<meta property=\"og:description\" content=\"\u521b\u4f5cElasticsearch\u63d2\u4ef6\u7684\u7b2c\u4e8c\u5f39\u3002 \u4e0a\u4e00\u6b21\u57fa\u4e8ecat\u63d2\u4ef6\u4ec5\u4ec5\u5c55\u793a\u4e86\u7b80\u5355\u7684\u5b57\u7b26\u4e32\uff0c\u800c\u8fd9\u4e00\u6b21\u6211\u4eec\u5c06\u589e\u52a0\u4e00 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u521b\u5efa-elasticsearch-\u63d2\u4ef6-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-10T18:24:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T19:49:13+00:00\" \/>\n<meta name=\"author\" content=\"\u79d1, \u96c5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u79d1, \u96c5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/\",\"name\":\"\u521b\u5efa Elasticsearch \u63d2\u4ef6 (2) - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-12-10T18:24:17+00:00\",\"dateModified\":\"2024-04-28T19:49:13+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u521b\u5efa Elasticsearch \u63d2\u4ef6 (2)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\",\"name\":\"\u79d1, \u96c5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"caption\":\"\u79d1, \u96c5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u521b\u5efa Elasticsearch \u63d2\u4ef6 (2) - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u521b\u5efa-elasticsearch-\u63d2\u4ef6-2\/","og_locale":"zh_CN","og_type":"article","og_title":"\u521b\u5efa Elasticsearch \u63d2\u4ef6 (2)","og_description":"\u521b\u4f5cElasticsearch\u63d2\u4ef6\u7684\u7b2c\u4e8c\u5f39\u3002 \u4e0a\u4e00\u6b21\u57fa\u4e8ecat\u63d2\u4ef6\u4ec5\u4ec5\u5c55\u793a\u4e86\u7b80\u5355\u7684\u5b57\u7b26\u4e32\uff0c\u800c\u8fd9\u4e00\u6b21\u6211\u4eec\u5c06\u589e\u52a0\u4e00 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u521b\u5efa-elasticsearch-\u63d2\u4ef6-2\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-12-10T18:24:17+00:00","article_modified_time":"2024-04-28T19:49:13+00:00","author":"\u79d1, \u96c5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u79d1, \u96c5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/","name":"\u521b\u5efa Elasticsearch \u63d2\u4ef6 (2) - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-12-10T18:24:17+00:00","dateModified":"2024-04-28T19:49:13+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u521b\u5efa Elasticsearch \u63d2\u4ef6 (2)"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a","name":"\u79d1, \u96c5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","caption":"\u79d1, \u96c5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%88%9b%e5%bb%ba-elasticsearch-%e6%8f%92%e4%bb%b6-2\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/40633","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=40633"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/40633\/revisions"}],"predecessor-version":[{"id":79602,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/40633\/revisions\/79602"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=40633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=40633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=40633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}