diff --git a/docs/css/umn/ALL_META.TXT.json b/docs/css/umn/ALL_META.TXT.json
index 707e35199..776e17a5e 100644
--- a/docs/css/umn/ALL_META.TXT.json
+++ b/docs/css/umn/ALL_META.TXT.json
@@ -1,9 +1,9 @@
[
{
- "dockw":"User Guide"
+ "dockw":"Usage Guides"
},
{
- "uri":"en-us_topic_0000001944960892.html",
+ "uri":"css_00_0001.html",
"node_id":"en-us_topic_0000001944960892.xml",
"product_code":"css",
"code":"1",
@@ -14,9 +14,9 @@
"metedata":[
{
"prodname":"css",
+ "IsMulti":"No;yes",
"opensource":"true",
"documenttype":"usermanual",
- "IsMulti":"No;yes",
"IsBot":"Yes;yes"
}
],
@@ -25,12 +25,12 @@
},
{
"uri":"css_04_0001.html",
- "node_id":"css_04_0001.xml",
+ "node_id":"en-us_topic_0000002473794362.xml",
"product_code":"css",
"code":"2",
"des":"CSS is a fully managed, distributed search service based on open source Elasticsearch and OpenSearch. You can use it for structured and unstructured data search, and enab",
"doc_type":"usermanual",
- "kw":"What Is Cloud Search Service?,Product Overview,User Guide",
+ "kw":"What Is Cloud Search Service?,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -45,12 +45,12 @@
},
{
"uri":"css_04_0010.html",
- "node_id":"css_04_0010.xml",
+ "node_id":"en-us_topic_0000002473954290.xml",
"product_code":"css",
"code":"3",
"des":"CSS has the following features and advantages.You can get insights from terabyte-scale data in milliseconds. In addition, you can use the visualized platform for data dis",
"doc_type":"usermanual",
- "kw":"Advantages,Product Overview,User Guide",
+ "kw":"Advantages,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -65,12 +65,12 @@
},
{
"uri":"css_04_0007.html",
- "node_id":"css_04_0007.xml",
+ "node_id":"en-us_topic_0000002506194271.xml",
"product_code":"css",
"code":"4",
"des":"CSS supports Kibana and Cerebro.Kibana is an open-source data analytics and visualization platform that works with Elasticsearch. You can use Kibana to search for and vie",
"doc_type":"usermanual",
- "kw":"Product Components,Product Overview,User Guide",
+ "kw":"Product Components,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -85,12 +85,12 @@
},
{
"uri":"css_04_0002.html",
- "node_id":"css_04_0002.xml",
+ "node_id":"en-us_topic_0000002473794364.xml",
"product_code":"css",
"code":"5",
"des":"CSS can be used to build search boxes for websites and apps to improve user experience. You can also build a log analysis platform with it, facilitating data-driven O&M a",
"doc_type":"usermanual",
- "kw":"Scenarios,Product Overview,User Guide",
+ "kw":"Scenarios,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -105,12 +105,12 @@
},
{
"uri":"css_04_0047.html",
- "node_id":"css_04_0047.xml",
+ "node_id":"en-us_topic_0000002473954292.xml",
"product_code":"css",
"code":"6",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
- "kw":"Differences Between Elasticsearch Cluster Versions,Product Overview,User Guide",
+ "kw":"Differences Between Elasticsearch Cluster Versions,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -124,13 +124,33 @@
"githuburl":""
},
{
- "uri":"css_04_0014.html",
- "node_id":"css_04_0014.xml",
+ "uri":"css_04_0042.html",
+ "node_id":"en-us_topic_0000002473794368.xml",
"product_code":"css",
"code":"7",
+ "des":"CSS provides a fully managed cloud search service based on open-source engines. CSS Elasticsearch and OpenSearch both have the following core capabilities:Unified archite",
+ "doc_type":"usermanual",
+ "kw":"Differences Between Elasticsearch and OpenSearch,Product Overview,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsBot":"Yes",
+ "IsMulti":"Yes",
+ "documenttype":"usermanual"
+ }
+ ],
+ "title":"Differences Between Elasticsearch and OpenSearch",
+ "githuburl":""
+ },
+ {
+ "uri":"css_04_0014.html",
+ "node_id":"en-us_topic_0000002506074329.xml",
+ "product_code":"css",
+ "code":"8",
"des":"If you need to assign different permissions to employees in your organization to access your CSS resources, IAM is a good choice for fine-grained permissions management. ",
"doc_type":"usermanual",
- "kw":"Permissions Management,Product Overview,User Guide",
+ "kw":"Permissions Management,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -145,12 +165,12 @@
},
{
"uri":"css_04_0005.html",
- "node_id":"css_04_0005.xml",
+ "node_id":"en-us_topic_0000002506074323.xml",
"product_code":"css",
- "code":"8",
+ "code":"9",
"des":"This topic describes limits on the node quantity and resource quotas of a CSS cluster. For details about the limits and limitations of different features provided by CSS,",
"doc_type":"usermanual",
- "kw":"Constraints,Product Overview,User Guide",
+ "kw":"Constraints,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -164,13 +184,13 @@
"githuburl":""
},
{
- "uri":"en-us_topic_0000001950350846.html",
- "node_id":"en-us_topic_0000001950350846.xml",
+ "uri":"css_04_0008.html",
+ "node_id":"en-us_topic_0000002473794372.xml",
"product_code":"css",
- "code":"9",
+ "code":"10",
"des":"This section describes the result of testing performance of CSS clusters in version 7.6.2 by using Rally 1.0.0 provided by Elasticsearch.In this test, the official geonam",
"doc_type":"usermanual",
- "kw":"Performance Metrics,Product Overview,User Guide",
+ "kw":"Performance Metrics,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -185,12 +205,12 @@
},
{
"uri":"css_04_0004.html",
- "node_id":"css_04_0004.xml",
+ "node_id":"en-us_topic_0000002473954298.xml",
"product_code":"css",
- "code":"10",
+ "code":"11",
"des":"Figure 1 shows the relationships between CSS and other services.",
"doc_type":"usermanual",
- "kw":"Related Services,Product Overview,User Guide",
+ "kw":"Related Services,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -205,12 +225,12 @@
},
{
"uri":"css_04_0012.html",
- "node_id":"css_04_0012.xml",
+ "node_id":"en-us_topic_0000002473794366.xml",
"product_code":"css",
- "code":"11",
+ "code":"12",
"des":"CSS provides functions on a per cluster basis. A cluster represents an independent search service that consists of multiple nodes.An index stores Elasticsearch data. It i",
"doc_type":"usermanual",
- "kw":"Basic Concepts,Product Overview,User Guide",
+ "kw":"Basic Concepts,Product Overview,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -224,10 +244,10 @@
"githuburl":""
},
{
- "uri":"en-us_topic_0000001945121184.html",
+ "uri":"css_00_0002.html",
"node_id":"en-us_topic_0000001945121184.xml",
"product_code":"css",
- "code":"12",
+ "code":"13",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Getting Started",
@@ -235,9 +255,9 @@
"metedata":[
{
"prodname":"css",
+ "IsMulti":"No;yes",
"opensource":"true",
"documenttype":"usermanual",
- "IsMulti":"No;yes",
"IsBot":"Yes;yes"
}
],
@@ -245,55 +265,51 @@
"githuburl":""
},
{
- "uri":"en-us_topic_0000002098813645.html",
- "node_id":"en-us_topic_0000002098813645.xml",
+ "uri":"index.html",
+ "node_id":"en-us_topic_0000001995777894.xml",
"product_code":"css",
- "code":"13",
+ "code":"14",
"des":"This section provides an example of how an e-commerce website uses a CSS Elasticsearch cluster to implement a product search function, including creating indexes, importi",
"doc_type":"usermanual",
- "kw":"Using Elasticsearch for Data Search,Getting Started,User Guide",
+ "kw":"Using Elasticsearch for Data Search,Getting Started,Usage Guides",
"search_title":"",
"metedata":[
{
"prodname":"css",
"opensource":"true",
- "documenttype":"usermanual",
- "IsMulti":"No;yes",
- "IsBot":"Yes;yes"
+ "documenttype":"usermanual"
}
],
"title":"Using Elasticsearch for Data Search",
"githuburl":""
},
{
- "uri":"en-us_topic_0000002098695185.html",
- "node_id":"en-us_topic_0000002098695185.xml",
+ "uri":"css_08_0003.html",
+ "node_id":"en-us_topic_0000001995777890.xml",
"product_code":"css",
- "code":"14",
+ "code":"15",
"des":"This section provides an example of how an e-commerce website uses a CSS OpenSearch cluster to implement a product search function, including creating indexes, importing ",
"doc_type":"usermanual",
- "kw":"Using OpenSearch for Data Search,Getting Started,User Guide",
+ "kw":"Using OpenSearch for Data Search,Getting Started,Usage Guides",
"search_title":"",
"metedata":[
{
"prodname":"css",
"opensource":"true",
- "documenttype":"usermanual",
- "IsMulti":"No;yes",
- "IsBot":"Yes;yes"
+ "documenttype":"usermanual"
}
],
"title":"Using OpenSearch for Data Search",
"githuburl":""
},
{
- "uri":"css_01_0070.html",
- "node_id":"css_01_0070.xml",
+ "uri":"css_01_0072.html",
+ "node_id":"en-us_topic_0000001965416741.xml",
"product_code":"css",
- "code":"15",
+ "code":"16",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
- "kw":"CSS Service Permission Management",
+ "kw":"CSS Permissions Management",
"search_title":"",
"metedata":[
{
@@ -304,17 +320,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"CSS Service Permission Management",
+ "title":"CSS Permissions Management",
"githuburl":""
},
{
- "uri":"css_01_0072.html",
- "node_id":"css_01_0072.xml",
+ "uri":"css_01_0070.html",
+ "node_id":"en-us_topic_0000001938218460.xml",
"product_code":"css",
- "code":"16",
+ "code":"17",
"des":"You can use Identity and Access Management (IAM) for fine-grained permissions control for CSS. With IAM, you can:Create IAM users for employees based on your enterprise's",
"doc_type":"usermanual",
- "kw":"Creating IAM Users and Granting Them Permissions to Use CSS,CSS Service Permission Management,User G",
+ "kw":"Creating IAM Users and Granting Them Permissions to Use CSS,CSS Permissions Management,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -330,9 +346,9 @@
},
{
"uri":"css_01_0207.html",
- "node_id":"css_01_0207.xml",
+ "node_id":"en-us_topic_0000001965416765.xml",
"product_code":"css",
- "code":"17",
+ "code":"18",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Using Elasticsearch for Data Search",
@@ -350,13 +366,13 @@
"githuburl":""
},
{
- "uri":"css_01_0378.html",
- "node_id":"css_01_0378.xml",
+ "uri":"css_01_0002.html",
+ "node_id":"en-us_topic_0000001972543277.xml",
"product_code":"css",
- "code":"18",
+ "code":"19",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
- "kw":"Procedure for Using Elasticsearch,Using Elasticsearch for Data Search,User Guide",
+ "kw":"Procedure for Using Elasticsearch,Using Elasticsearch for Data Search,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -371,13 +387,13 @@
"githuburl":""
},
{
- "uri":"css_01_0379.html",
- "node_id":"css_01_0379.xml",
+ "uri":"css_01_0188.html",
+ "node_id":"en-us_topic_0000001973113041.xml",
"product_code":"css",
- "code":"19",
- "des":"Before creating an Elasticsearch cluster, develop a plan for it, such as whether to deploy the cluster across multiple AZs to improve availability; the node quantity and ",
+ "code":"20",
+ "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
- "kw":"Elasticsearch Cluster Planning Suggestions,Using Elasticsearch for Data Search,User Guide",
+ "kw":"Elasticsearch Cluster Planning Suggestions",
"search_title":"",
"metedata":[
{
@@ -392,13 +408,76 @@
"githuburl":""
},
{
- "uri":"css_01_0380.html",
- "node_id":"css_01_0380.xml",
+ "uri":"css_01_0001.html",
+ "node_id":"en-us_topic_0000002316900222.xml",
"product_code":"css",
- "code":"20",
- "des":"This topic describes how to create an Elasticsearch cluster.Table 1 lists key parameters that differentiate between different types of clusters.You have planned the Elast",
+ "code":"21",
+ "des":"This topic describes how to improve cluster availability by deploying a cluster across multiple AZs, including the rules for distributing cluster nodes among AZs, the rec",
"doc_type":"usermanual",
- "kw":"Creating an Elasticsearch Cluster,Using Elasticsearch for Data Search,User Guide",
+ "kw":"Planning Cluster AZs and HA,Elasticsearch Cluster Planning Suggestions,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Planning Cluster AZs and HA",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0008.html",
+ "node_id":"en-us_topic_0000002351146365.xml",
+ "product_code":"css",
+ "code":"22",
+ "des":"This topic introduces different Elasticsearch cluster versions, including features supported by each version and its application scenarios. It also describes the characte",
+ "doc_type":"usermanual",
+ "kw":"Planning the Cluster Version and Security Mode,Elasticsearch Cluster Planning Suggestions,Usage Guid",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Planning the Cluster Version and Security Mode",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0086.html",
+ "node_id":"en-us_topic_0000002351306217.xml",
+ "product_code":"css",
+ "code":"23",
+ "des":"This topic describes the application scenarios and configuration suggestions for each type of cluster nodes, including data nodes, master nodes, client nodes, and cold da",
+ "doc_type":"usermanual",
+ "kw":"Planning Node Types and Specifications,Elasticsearch Cluster Planning Suggestions,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Planning Node Types and Specifications",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0270.html",
+ "node_id":"en-us_topic_0000001938218212.xml",
+ "product_code":"css",
+ "code":"24",
+ "des":"This topic describes how to create an Elasticsearch cluster. You can create an Elasticsearch cluster in either of the following ways:Method 1: Create an Elasticsearch clu",
+ "doc_type":"usermanual",
+ "kw":"Creating an Elasticsearch Cluster,Using Elasticsearch for Data Search,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -414,9 +493,9 @@
},
{
"uri":"css_01_0210.html",
- "node_id":"css_01_0210.xml",
+ "node_id":"en-us_topic_0000001965416905.xml",
"product_code":"css",
- "code":"21",
+ "code":"25",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Accessing Elasticsearch Clusters",
@@ -434,13 +513,13 @@
"githuburl":""
},
{
- "uri":"css_01_0381.html",
- "node_id":"css_01_0381.xml",
+ "uri":"css_01_0190.html",
+ "node_id":"en-us_topic_0000001975823337.xml",
"product_code":"css",
- "code":"22",
+ "code":"26",
"des":"There are many ways to connect to an Elasticsearch cluster. Select the most appropriate access method based on the programming language you prefer. The various access met",
"doc_type":"usermanual",
- "kw":"Elasticsearch Cluster Access Methods,Accessing Elasticsearch Clusters,User Guide",
+ "kw":"Elasticsearch Cluster Access Methods,Accessing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -455,13 +534,13 @@
"githuburl":""
},
{
- "uri":"css_01_0382.html",
- "node_id":"css_01_0382.xml",
+ "uri":"css_01_0108.html",
+ "node_id":"en-us_topic_0000001965497073.xml",
"product_code":"css",
- "code":"23",
+ "code":"27",
"des":"Kibana is the official data visualization and exploration platform for Elasticsearch. It enables in-depth data analysis and interactive visualization. In CSS, Kibana is p",
"doc_type":"usermanual",
- "kw":"Logging In to an Elasticsearch Cluster Using Kibana,Accessing Elasticsearch Clusters,User Guide",
+ "kw":"Logging In to an Elasticsearch Cluster Using Kibana,Accessing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -476,13 +555,13 @@
"githuburl":""
},
{
- "uri":"css_01_0383.html",
- "node_id":"css_01_0383.xml",
+ "uri":"css_01_0062.html",
+ "node_id":"en-us_topic_0000001972416121.xml",
"product_code":"css",
- "code":"24",
+ "code":"28",
"des":"Cerebro is an open-source Elasticsearch web admin tool, designed for real-time monitoring and efficient cluster operations. In CSS, Cerebro is pre-built for each Elastics",
"doc_type":"usermanual",
- "kw":"Logging In to an Elasticsearch Cluster Through Cerebro,Accessing Elasticsearch Clusters,User Guide",
+ "kw":"Logging In to an Elasticsearch Cluster Through Cerebro,Accessing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -497,13 +576,13 @@
"githuburl":""
},
{
- "uri":"css_01_0384.html",
- "node_id":"css_01_0384.xml",
+ "uri":"css_01_0063.html",
+ "node_id":"en-us_topic_0000001945217682.xml",
"product_code":"css",
- "code":"25",
+ "code":"29",
"des":"Open-source Elasticsearch provides a series of RESTful APIs. You can run cURL commands to access these APIs using tools such as Kibana and Postman. This topic describes h",
"doc_type":"usermanual",
- "kw":"Accessing an Elasticsearch Cluster Using cURL Commands,Accessing Elasticsearch Clusters,User Guide",
+ "kw":"Accessing an Elasticsearch Cluster Using cURL Commands,Accessing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -518,10 +597,10 @@
"githuburl":""
},
{
- "uri":"css_01_0385.html",
- "node_id":"css_01_0385.xml",
+ "uri":"css_01_0064.html",
+ "node_id":"en-us_topic_0000001945377006.xml",
"product_code":"css",
- "code":"26",
+ "code":"30",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Accessing an Elasticsearch Cluster Using Java",
@@ -539,13 +618,13 @@
"githuburl":""
},
{
- "uri":"css_01_0386.html",
- "node_id":"css_01_0386.xml",
+ "uri":"css_01_0065.html",
+ "node_id":"en-us_topic_0000001972375889.xml",
"product_code":"css",
- "code":"27",
- "des":"Elasticsearch provides SDK (Rest High Level Client) for connecting to a cluster. This client encapsulates Elasticsearch APIs. You only need to construct required structur",
+ "code":"31",
+ "des":"Elasticsearch provides SDK (High Level REST Client) for connecting to a cluster. This client encapsulates Elasticsearch APIs. You only need to construct required structur",
"doc_type":"usermanual",
- "kw":"Accessing an Elasticsearch Cluster Through the Rest High Level Client,Accessing an Elasticsearch Clu",
+ "kw":"Accessing an Elasticsearch Cluster Through the High Level REST Client,Accessing an Elasticsearch Clu",
"search_title":"",
"metedata":[
{
@@ -556,17 +635,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Accessing an Elasticsearch Cluster Through the Rest High Level Client",
+ "title":"Accessing an Elasticsearch Cluster Through the High Level REST Client",
"githuburl":""
},
{
- "uri":"css_01_0387.html",
- "node_id":"css_01_0387.xml",
+ "uri":"css_01_0066.html",
+ "node_id":"en-us_topic_0000001972416125.xml",
"product_code":"css",
- "code":"28",
+ "code":"32",
"des":"The high-level client is encapsulated based on the low-level client. If the method calls (such as .search and .bulk) in the high-level client cannot meet the requirements",
"doc_type":"usermanual",
- "kw":"Accessing an Elasticsearch Cluster Through the Rest Low Level Client,Accessing an Elasticsearch Clus",
+ "kw":"Accessing an Elasticsearch Cluster Through the Low Level REST Client,Accessing an Elasticsearch Clus",
"search_title":"",
"metedata":[
{
@@ -577,15 +656,15 @@
"IsBot":"Yes;yes"
}
],
- "title":"Accessing an Elasticsearch Cluster Through the Rest Low Level Client",
+ "title":"Accessing an Elasticsearch Cluster Through the Low Level REST Client",
"githuburl":""
},
{
- "uri":"css_01_0388.html",
- "node_id":"css_01_0388.xml",
+ "uri":"css_01_0067.html",
+ "node_id":"en-us_topic_0000001945217686.xml",
"product_code":"css",
- "code":"29",
- "des":"You can use Transport Client to access a CSS cluster in non-security mode. For a cluster in security mode, you are advised to use Accessing an Elasticsearch Cluster Throu",
+ "code":"33",
+ "des":"You can use Transport Client to access a CSS cluster with the security mode disabled. For a cluster in security mode, you are advised to use Accessing an Elasticsearch Cl",
"doc_type":"usermanual",
"kw":"Accessing an Elasticsearch Cluster Through the Transport Client,Accessing an Elasticsearch Cluster U",
"search_title":"",
@@ -602,10 +681,10 @@
"githuburl":""
},
{
- "uri":"css_01_0389.html",
- "node_id":"css_01_0389.xml",
+ "uri":"css_01_0068.html",
+ "node_id":"en-us_topic_0000001945377010.xml",
"product_code":"css",
- "code":"30",
+ "code":"34",
"des":"You can access a CSS cluster using Spring Boot. Spring Boot can connect to a cluster in any of the following ways:Accessing an HTTP Cluster Through Spring Boot: applicabl",
"doc_type":"usermanual",
"kw":"Accessing an Elasticsearch Cluster Using Spring Boot,Accessing an Elasticsearch Cluster Using Java,U",
@@ -623,13 +702,13 @@
"githuburl":""
},
{
- "uri":"css_01_0390.html",
- "node_id":"css_01_0390.xml",
+ "uri":"css_01_0069.html",
+ "node_id":"en-us_topic_0000001972375893.xml",
"product_code":"css",
- "code":"31",
+ "code":"35",
"des":"You can access an Elasticsearch cluster created in CSS using Python.The CSS cluster is available.Ensure that the server running Python can communicate with the CSS cluste",
"doc_type":"usermanual",
- "kw":"Accessing an Elasticsearch Cluster Using Python,Accessing Elasticsearch Clusters,User Guide",
+ "kw":"Accessing an Elasticsearch Cluster Using Python,Accessing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -644,13 +723,13 @@
"githuburl":""
},
{
- "uri":"css_01_0391.html",
- "node_id":"css_01_0391.xml",
+ "uri":"css_01_0071.html",
+ "node_id":"en-us_topic_0000001972416129.xml",
"product_code":"css",
- "code":"32",
+ "code":"36",
"des":"The Elasticsearch-Hadoop (ES-Hadoop) connector combines the massive data storage and in-depth processing capabilities of Hadoop with the real-time search and analysis cap",
"doc_type":"usermanual",
- "kw":"Accessing an Elasticsearch Cluster Through the MRS Hive Client,Accessing Elasticsearch Clusters,User",
+ "kw":"Accessing an Elasticsearch Cluster Through the MRS Hive Client,Accessing Elasticsearch Clusters,Usag",
"search_title":"",
"metedata":[
{
@@ -665,13 +744,13 @@
"githuburl":""
},
{
- "uri":"css_01_0392.html",
- "node_id":"css_01_0392.xml",
+ "uri":"css_01_0073.html",
+ "node_id":"en-us_topic_0000001945217690.xml",
"product_code":"css",
- "code":"33",
+ "code":"37",
"des":"This section describes how to access a CSS cluster using Go.The CSS cluster is available.Ensure that the server running Go can communicate with the CSS cluster.Ensure tha",
"doc_type":"usermanual",
- "kw":"Accessing an Elasticsearch Cluster Using Go,Accessing Elasticsearch Clusters,User Guide",
+ "kw":"Accessing an Elasticsearch Cluster Using Go,Accessing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -686,13 +765,13 @@
"githuburl":""
},
{
- "uri":"css_01_0393.html",
- "node_id":"css_01_0393.xml",
+ "uri":"css_01_0017.html",
+ "node_id":"en-us_topic_0000001945377014.xml",
"product_code":"css",
- "code":"34",
+ "code":"38",
"des":"The Light Directory Access Protocol (LDAP) is a lightweight version of the directory access protocol based on the X.500 standard. An LDAP service provides user authentica",
"doc_type":"usermanual",
- "kw":"Accessing an Elasticsearch Cluster Using LDAP,Accessing Elasticsearch Clusters,User Guide",
+ "kw":"Accessing an Elasticsearch Cluster Using LDAP,Accessing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -707,10 +786,10 @@
"githuburl":""
},
{
- "uri":"css_01_0045.html",
- "node_id":"css_01_0045.xml",
+ "uri":"css_01_0004.html",
+ "node_id":"en-us_topic_0000001965496965.xml",
"product_code":"css",
- "code":"35",
+ "code":"39",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Importing Data to an Elasticsearch Cluster",
@@ -728,13 +807,13 @@
"githuburl":""
},
{
- "uri":"css_01_0394.html",
- "node_id":"css_01_0394.xml",
+ "uri":"css_01_0005.html",
+ "node_id":"en-us_topic_0000001945265112.xml",
"product_code":"css",
- "code":"36",
- "des":"Elasticsearch clusters support multiple data ingestion methods, as listed in Table 1. Select one that fits your needs the best. Before starting to import data, determine ",
+ "code":"40",
+ "des":"Elasticsearch clusters support multiple data ingestion methods, as listed in Table 1. Select one that fits your needs the best. Before starting to ingest data, determine ",
"doc_type":"usermanual",
- "kw":"Different Ways to Import Data to an Elasticsearch Cluster,Importing Data to an Elasticsearch Cluster",
+ "kw":"Different Ways to Ingest Data into an Elasticsearch Cluster,Importing Data to an Elasticsearch Clust",
"search_title":"",
"metedata":[
{
@@ -745,15 +824,15 @@
"IsBot":"Yes;yes"
}
],
- "title":"Different Ways to Import Data to an Elasticsearch Cluster",
+ "title":"Different Ways to Ingest Data into an Elasticsearch Cluster",
"githuburl":""
},
{
"uri":"css_01_0048.html",
- "node_id":"css_01_0048.xml",
+ "node_id":"en-us_topic_0000001938218520.xml",
"product_code":"css",
- "code":"37",
- "des":"You can use in-house built Logstash to migrate data to Elasticsearch or OpenSearch in CSS. This helps you effectively ingest and manage data through CSS. Data files can b",
+ "code":"41",
+ "des":"With CSS, you can use in-house developed Logstash to ingest data into Elasticsearch for efficient search and exploration. Data files can be in the JSON or CSV format.Logs",
"doc_type":"usermanual",
"kw":"Using In-house Built Logstash to Import Data to Elasticsearch,Importing Data to an Elasticsearch Clu",
"search_title":"",
@@ -771,9 +850,9 @@
},
{
"uri":"css_01_0024.html",
- "node_id":"css_01_0024.xml",
+ "node_id":"en-us_topic_0000001938377776.xml",
"product_code":"css",
- "code":"38",
+ "code":"42",
"des":"With CSS, you can use open-source Elasticsearch APIs on Kibana or an ECS server to import data to an Elasticsearch cluster. JSON files are supported.Using an Open-Source ",
"doc_type":"usermanual",
"kw":"Using Open Source Elasticsearch APIs to Import Data to Elasticsearch,Importing Data to an Elasticsea",
@@ -791,13 +870,13 @@
"githuburl":""
},
{
- "uri":"css_01_0396.html",
- "node_id":"css_01_0396.xml",
+ "uri":"css_01_0046.html",
+ "node_id":"en-us_topic_0000001948561400.xml",
"product_code":"css",
- "code":"39",
- "des":"With CSS, you can use the web user interface of the Cloud Data Migration (CDM) service to import data from an Oracle database or OBS to an Elasticsearch or OpenSearch clu",
+ "code":"43",
+ "des":"With CSS, you can use the web user interface of the Cloud Data Migration (CDM) service to import data from an Oracle database or OBS to an Elasticsearch cluster. Only JSO",
"doc_type":"usermanual",
- "kw":"Using CDM to Import Data to Elasticsearch,Importing Data to an Elasticsearch Cluster,User Guide",
+ "kw":"Using CDM to Import Data to Elasticsearch,Importing Data to an Elasticsearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -812,13 +891,13 @@
"githuburl":""
},
{
- "uri":"css_01_0397.html",
- "node_id":"css_01_0397.xml",
+ "uri":"css_01_0228.html",
+ "node_id":"en-us_topic_0000001938377700.xml",
"product_code":"css",
- "code":"40",
- "des":"This unique CSS feature significantly improves data import performance and reduces write rejections through bulk route optimization, text index acceleration, and word seg",
+ "code":"44",
+ "des":"This unique CSS feature significantly enhances data ingestion performance and reduces write rejections through bulk route optimization, text index acceleration, and word ",
"doc_type":"usermanual",
- "kw":"Enhancing the Data Import Performance of Elasticsearch Clusters,Importing Data to an Elasticsearch C",
+ "kw":"Enhancing the Data Ingestion Performance of Elasticsearch Clusters,Importing Data to an Elasticsearc",
"search_title":"",
"metedata":[
{
@@ -829,14 +908,14 @@
"IsBot":"Yes;yes"
}
],
- "title":"Enhancing the Data Import Performance of Elasticsearch Clusters",
+ "title":"Enhancing the Data Ingestion Performance of Elasticsearch Clusters",
"githuburl":""
},
{
- "uri":"css_01_0398.html",
- "node_id":"css_01_0398.xml",
+ "uri":"css_01_0006.html",
+ "node_id":"en-us_topic_0000001972511757.xml",
"product_code":"css",
- "code":"41",
+ "code":"45",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Searching Data in an Elasticsearch Cluster",
@@ -854,13 +933,13 @@
"githuburl":""
},
{
- "uri":"css_01_0399.html",
- "node_id":"css_01_0399.xml",
+ "uri":"css_01_0007.html",
+ "node_id":"en-us_topic_0000001945472646.xml",
"product_code":"css",
- "code":"42",
+ "code":"46",
"des":"DSL is the specified query language for Elasticsearch. It is the best language for interaction between Elasticsearch clusters and clients. Elasticsearch DSL is a JSON-bas",
"doc_type":"usermanual",
- "kw":"Using DSL to Search for Data in Elasticsearch,Searching Data in an Elasticsearch Cluster,User Guide",
+ "kw":"Using DSL to Search for Data in Elasticsearch,Searching Data in an Elasticsearch Cluster,Usage Guide",
"search_title":"",
"metedata":[
{
@@ -876,12 +955,12 @@
},
{
"uri":"css_01_0061.html",
- "node_id":"css_01_0061.xml",
+ "node_id":"en-us_topic_0000001965496981.xml",
"product_code":"css",
- "code":"43",
+ "code":"47",
"des":"For Elasticsearch 6.5.4 and later versions, Open Distro for Elasticsearch SQL lets you write queries in SQL rather than in the Elasticsearch query domain-specific languag",
"doc_type":"usermanual",
- "kw":"Using SQL to Search for Data in Elasticsearch,Searching Data in an Elasticsearch Cluster,User Guide",
+ "kw":"Using SQL to Search for Data in Elasticsearch,Searching Data in an Elasticsearch Cluster,Usage Guide",
"search_title":"",
"metedata":[
{
@@ -897,9 +976,9 @@
},
{
"uri":"css_01_0111.html",
- "node_id":"css_01_0111.xml",
+ "node_id":"en-us_topic_0000001965497013.xml",
"product_code":"css",
- "code":"44",
+ "code":"48",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Enhancing Search Capabilities for Elasticsearch Clusters",
@@ -917,10 +996,10 @@
"githuburl":""
},
{
- "uri":"css_01_0400.html",
- "node_id":"css_01_0400.xml",
+ "uri":"css_01_0013.html",
+ "node_id":"en-us_topic_0000001972591469.xml",
"product_code":"css",
- "code":"45",
+ "code":"49",
"des":"Compared with open-source Elasticsearch, Elasticsearch clusters in CSS have many enhanced features. Table 1 lists these enhanced features and the corresponding cluster ve",
"doc_type":"usermanual",
"kw":"Search Enhancement Features for Elasticsearch Clusters,Enhancing Search Capabilities for Elasticsear",
@@ -939,9 +1018,9 @@
},
{
"uri":"css_01_0117.html",
- "node_id":"css_01_0117.xml",
+ "node_id":"en-us_topic_0000001965496777.xml",
"product_code":"css",
- "code":"46",
+ "code":"50",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Configuring Vector Search for Elasticsearch Clusters",
@@ -960,12 +1039,12 @@
},
{
"uri":"css_01_0118.html",
- "node_id":"css_01_0118.xml",
+ "node_id":"en-us_topic_0000001965416801.xml",
"product_code":"css",
- "code":"47",
- "des":"Unstructured data, such as images, videos, and language corpora, is converted into vectors, which are searched based on similarity using either an exact or approximate ne",
+ "code":"51",
+ "des":"In the age of AI, unstructured data—such as images, videos, audios, and text—is growing rapidly. Traditional keyword-based search cannot effectively handle unstructured d",
"doc_type":"usermanual",
- "kw":"About Vector Search,Configuring Vector Search for Elasticsearch Clusters,User Guide",
+ "kw":"About CSS Vector Search,Configuring Vector Search for Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -976,17 +1055,38 @@
"IsBot":"Yes;yes"
}
],
- "title":"About Vector Search",
+ "title":"About CSS Vector Search",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0195.html",
+ "node_id":"en-us_topic_0000002319719726.xml",
+ "product_code":"css",
+ "code":"52",
+ "des":"Integrating efficient indexing techniques, the CSS vector database delivers a high-performance, low-cost, scalable solution for high-dimensional vector search. An Elastic",
+ "doc_type":"usermanual",
+ "kw":"Creating an Elasticsearch Vector Cluster,Configuring Vector Search for Elasticsearch Clusters,Usage ",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Creating an Elasticsearch Vector Cluster",
"githuburl":""
},
{
"uri":"css_01_0121.html",
- "node_id":"css_01_0121.xml",
+ "node_id":"en-us_topic_0000002319559898.xml",
"product_code":"css",
- "code":"48",
- "des":"To create a vector index, perform the following steps:(Optional) Preparations: Configure advanced cluster settings based on service needs.(Optional) Pre-Building and Regi",
+ "code":"53",
+ "des":"Create a vector index in your Elasticsearch cluster and define a mapping that contains vector fields, including vector dimensions, indexing algorithm, and similarity meas",
"doc_type":"usermanual",
- "kw":"Creating Vector Indexes in an Elasticsearch Cluster,Configuring Vector Search for Elasticsearch Clus",
+ "kw":"Creating a Vector Index,Configuring Vector Search for Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -997,17 +1097,38 @@
"IsBot":"Yes;yes"
}
],
- "title":"Creating Vector Indexes in an Elasticsearch Cluster",
+ "title":"Creating a Vector Index",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0296.html",
+ "node_id":"en-us_topic_0000002353678449.xml",
+ "product_code":"css",
+ "code":"54",
+ "des":"Importing vector data is the process of ingesting data to the CSS vector database. When writing vector data to a vector index, you need to specify the vector field (for e",
+ "doc_type":"usermanual",
+ "kw":"Importing Vector Data,Configuring Vector Search for Elasticsearch Clusters,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Importing Vector Data",
"githuburl":""
},
{
"uri":"css_01_0123.html",
- "node_id":"css_01_0123.xml",
+ "node_id":"en-us_topic_0000002319719730.xml",
"product_code":"css",
- "code":"49",
- "des":"Vector indexes support data searches in different ways.Standard QueryComposite QueryScriptScore QueryRe-Score QueryPainless Syntax ExtensionStandard QueryComposite QueryS",
+ "code":"55",
+ "des":"The CSS vector database supports a variety of query methods, including standard query, hybrid query, script_score query, rescore query, and painless syntax extension. The",
"doc_type":"usermanual",
- "kw":"Using Vector Indexes for Data Search in an Elasticsearch Cluster,Configuring Vector Search for Elast",
+ "kw":"Performing Vector Search,Configuring Vector Search for Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1018,38 +1139,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Using Vector Indexes for Data Search in an Elasticsearch Cluster",
- "githuburl":""
- },
- {
- "uri":"css_01_0401.html",
- "node_id":"css_01_0401.xml",
- "product_code":"css",
- "code":"50",
- "des":"Nested fields allow multiple vectorized records to be stored in a single document. For example, in an RAG scenario, documents usually need to be segmented by paragraph or",
- "doc_type":"usermanual",
- "kw":"Using a Vector Index with Nested Fields,Configuring Vector Search for Elasticsearch Clusters,User Gu",
- "search_title":"",
- "metedata":[
- {
- "prodname":"css",
- "IsMulti":"No;yes",
- "opensource":"true",
- "documenttype":"usermanual",
- "IsBot":"Yes;yes"
- }
- ],
- "title":"Using a Vector Index with Nested Fields",
+ "title":"Performing Vector Search",
"githuburl":""
},
{
"uri":"css_01_0126.html",
- "node_id":"css_01_0126.xml",
+ "node_id":"en-us_topic_0000001938377528.xml",
"product_code":"css",
- "code":"51",
- "des":"To reduce the cost of backup, disable the backup function before data import and enable it afterwards.Set refresh_interval to 120s or a larger value. Larger segments can ",
+ "code":"56",
+ "des":"This topic explains how to optimize the performance of a CSS vector database from two aspects—write and query.Writing vector data incurs three major overheads: replica sy",
"doc_type":"usermanual",
- "kw":"Optimizing the Write and Query Performance of Vector Search,Configuring Vector Search for Elasticsea",
+ "kw":"Optimizing Vector Cluster Performance,Configuring Vector Search for Elasticsearch Clusters,Usage Gui",
"search_title":"",
"metedata":[
{
@@ -1060,17 +1160,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Optimizing the Write and Query Performance of Vector Search",
+ "title":"Optimizing Vector Cluster Performance",
"githuburl":""
},
{
"uri":"css_01_0130.html",
- "node_id":"css_01_0130.xml",
+ "node_id":"en-us_topic_0000001965496997.xml",
"product_code":"css",
- "code":"52",
- "des":"The vector search engine is developed in C++ and uses off-heap memory. You can use the following APIs to manage the index cache.View cache statistics.GET /_vector/statsIn",
+ "code":"57",
+ "des":"The CSS vector search engine is built on C++. It uses off-heap memory to enhance performance and efficiency. To better manage and optimize the vector index cache, the CSS",
"doc_type":"usermanual",
- "kw":"Managing the Vector Index Cache,Configuring Vector Search for Elasticsearch Clusters,User Guide",
+ "kw":"Managing the Vector Index Cache,Configuring Vector Search for Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1085,13 +1185,34 @@
"githuburl":""
},
{
- "uri":"css_01_0129.html",
- "node_id":"css_01_0129.xml",
+ "uri":"css_01_0264.html",
+ "node_id":"en-us_topic_0000002152432486.xml",
"product_code":"css",
- "code":"53",
+ "code":"58",
+ "des":"Nested fields allow multiple vectorized records to be stored in a single document. For example, in an RAG scenario, documents usually need to be segmented by paragraph or",
+ "doc_type":"usermanual",
+ "kw":"Using Nested Fields for Vector Search,Configuring Vector Search for Elasticsearch Clusters,Usage Gui",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Using Nested Fields for Vector Search",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0129.html",
+ "node_id":"en-us_topic_0000001965496793.xml",
+ "product_code":"css",
+ "code":"59",
"des":"Elasticsearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Python code for creating vector indexes, and impor",
"doc_type":"usermanual",
- "kw":"Client Code Sample for Vector Search (Python),Configuring Vector Search for Elasticsearch Clusters,U",
+ "kw":"Sample Python Code for Vector Search,Configuring Vector Search for Elasticsearch Clusters,Usage Guid",
"search_title":"",
"metedata":[
{
@@ -1102,17 +1223,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Client Code Sample for Vector Search (Python)",
+ "title":"Sample Python Code for Vector Search",
"githuburl":""
},
{
- "uri":"css_01_0402.html",
- "node_id":"css_01_0402.xml",
+ "uri":"css_01_0128.html",
+ "node_id":"en-us_topic_0000001965416573.xml",
"product_code":"css",
- "code":"54",
+ "code":"60",
"des":"Elasticsearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Java code for creating vector indexes, and importi",
"doc_type":"usermanual",
- "kw":"Client Code Sample for Vector Search (Java),Configuring Vector Search for Elasticsearch Clusters,Use",
+ "kw":"Sample Java Code for Vector Search,Configuring Vector Search for Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1123,17 +1244,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Client Code Sample for Vector Search (Java)",
+ "title":"Sample Java Code for Vector Search",
"githuburl":""
},
{
- "uri":"css_01_0405.html",
- "node_id":"css_01_0405.xml",
+ "uri":"css_01_0113.html",
+ "node_id":"en-us_topic_0000001965416849.xml",
"product_code":"css",
- "code":"55",
- "des":"CSS stores new data as hot data on SSDs to ensure optimal query performance, and historical data as cold data in OBS to cut storage costs.With storage-compute decoupling,",
+ "code":"61",
+ "des":"As data grows exponentially, traditional monolithic storage architectures struggle to balance performance and cost efficiency. To support high-speed real-time queries whi",
"doc_type":"usermanual",
- "kw":"Configuring Storage-Compute Decoupling for an Elasticsearch Cluster,Enhancing Search Capabilities fo",
+ "kw":"Configuring Decoupled Storage and Compute for an Elasticsearch Cluster,Enhancing Search Capabilities",
"search_title":"",
"metedata":[
{
@@ -1144,15 +1265,15 @@
"IsBot":"Yes;yes"
}
],
- "title":"Configuring Storage-Compute Decoupling for an Elasticsearch Cluster",
+ "title":"Configuring Decoupled Storage and Compute for an Elasticsearch Cluster",
"githuburl":""
},
{
- "uri":"css_01_0406.html",
- "node_id":"css_01_0406.xml",
+ "uri":"css_01_0192.html",
+ "node_id":"en-us_topic_0000001938218516.xml",
"product_code":"css",
- "code":"56",
- "des":"Flow Control 2.0 controls traffic at the node level. You can configure blacklists and whitelists per node, the maximum concurrent HTTP connections allowed, and the maximu",
+ "code":"62",
+ "des":"Configure flow control policies for your Elasticsearch cluster in both the inbound and outbound directions, ensuring cluster stability by safeguarding against abnormal tr",
"doc_type":"usermanual",
"kw":"Configuring Flow Control 2.0 for an Elasticsearch Cluster,Enhancing Search Capabilities for Elastics",
"search_title":"",
@@ -1169,11 +1290,11 @@
"githuburl":""
},
{
- "uri":"css_01_0407.html",
- "node_id":"css_01_0407.xml",
+ "uri":"css_01_0140.html",
+ "node_id":"en-us_topic_0000001965416561.xml",
"product_code":"css",
- "code":"57",
- "des":"Flow Control 1.0 controls traffic at the node level. You can configure blacklists and whitelists per node, the maximum concurrent HTTP connections allowed, the maximum HT",
+ "code":"63",
+ "des":"Configure flow control policies for your Elasticsearch cluster in both the inbound and outbound directions, ensuring cluster stability by safeguarding against abnormal tr",
"doc_type":"usermanual",
"kw":"Configuring Flow Control 1.0 for an Elasticsearch Cluster,Enhancing Search Capabilities for Elastics",
"search_title":"",
@@ -1190,10 +1311,10 @@
"githuburl":""
},
{
- "uri":"css_01_0408.html",
- "node_id":"css_01_0408.xml",
+ "uri":"css_01_0132.html",
+ "node_id":"en-us_topic_0000001938377744.xml",
"product_code":"css",
- "code":"58",
+ "code":"64",
"des":"You can isolate query requests that consume a large amount of memory or take a long period of time. This way, you ensure service availability for other requests. If the h",
"doc_type":"usermanual",
"kw":"Configuring Large Query Isolation for an Elasticsearch Cluster,Enhancing Search Capabilities for Ela",
@@ -1211,11 +1332,11 @@
"githuburl":""
},
{
- "uri":"css_01_0409.html",
- "node_id":"css_01_0409.xml",
+ "uri":"css_01_0173.html",
+ "node_id":"en-us_topic_0000001938377556.xml",
"product_code":"css",
- "code":"59",
- "des":"In the case of data clustering, enhanced aggregation uses the vectorization technology to process data in batches, improving aggregation performance and facilitating aggr",
+ "code":"65",
+ "des":"CSS Elasticsearch clusters enhance aggregation performance in the face of large data volumes by leveraging vectorization and optimized clustering, enabling faster analyti",
"doc_type":"usermanual",
"kw":"Configuring Enhanced Aggregation for an Elasticsearch Cluster,Enhancing Search Capabilities for Elas",
"search_title":"",
@@ -1232,11 +1353,11 @@
"githuburl":""
},
{
- "uri":"css_01_0410.html",
- "node_id":"css_01_0410.xml",
+ "uri":"css_01_0162.html",
+ "node_id":"en-us_topic_0000001938218280.xml",
"product_code":"css",
- "code":"60",
- "des":"Data written to the primary cluster (Leader) is automatically synchronized to the secondary cluster (Follower). This allows data to be queried from the secondary cluster,",
+ "code":"66",
+ "des":"As business expands, and data volumes and access requests grow exponentially, a monolithic architecture where a single cluster handles both write and query requests faces",
"doc_type":"usermanual",
"kw":"Configuring Read/Write Splitting Between Two Elasticsearch Clusters,Enhancing Search Capabilities fo",
"search_title":"",
@@ -1254,10 +1375,10 @@
},
{
"uri":"css_01_0079.html",
- "node_id":"css_01_0079.xml",
+ "node_id":"en-us_topic_0000001938377704.xml",
"product_code":"css",
- "code":"61",
- "des":"In an Elasticsearch cluster that has cold data nodes, index data can switch between cold and hot storage. This helps optimize storage costs and improve query performance.",
+ "code":"67",
+ "des":"In an Elasticsearch cluster, switching between hot and cold data storage means to allocate data to nodes of different performance standards based on data temperature (tha",
"doc_type":"usermanual",
"kw":"Switching Between Hot and Cold Storage for an Elasticsearch Cluster,Enhancing Search Capabilities fo",
"search_title":"",
@@ -1275,9 +1396,9 @@
},
{
"uri":"css_01_0249.html",
- "node_id":"css_01_0249.xml",
+ "node_id":"en-us_topic_0000001965497097.xml",
"product_code":"css",
- "code":"62",
+ "code":"68",
"des":"With Elasticsearch clusters, indexes are deleted without first being put into a recycle bin. To allow users to restore data after misdeletion, CSS provides an index recyc",
"doc_type":"usermanual",
"kw":"Configuring an Index Recycle Bin for an Elasticsearch Cluster,Enhancing Search Capabilities for Elas",
@@ -1295,10 +1416,10 @@
"githuburl":""
},
{
- "uri":"css_01_0411.html",
- "node_id":"css_01_0411.xml",
+ "uri":"css_01_0010.html",
+ "node_id":"en-us_topic_0000001972543281.xml",
"product_code":"css",
- "code":"63",
+ "code":"69",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Configuring Networking for an Elasticsearch Cluster",
@@ -1316,11 +1437,32 @@
"githuburl":""
},
{
- "uri":"css_01_0076.html",
- "node_id":"css_01_0076.xml",
+ "uri":"css_01_0279.html",
+ "node_id":"en-us_topic_0000002297560313.xml",
"product_code":"css",
- "code":"64",
- "des":"Public network access is supported only when Security Mode and HTTPS Access are enabled for a cluster. When Public IP Address is enabled, a public IP address is automatic",
+ "code":"70",
+ "des":"By default, a CSS Elasticsearch cluster cannot access a target service—such as a client program or a Lightweight Directory Access Protocol (LDAP) service—that is located ",
+ "doc_type":"usermanual",
+ "kw":"Configuring Routes for an Elasticsearch Cluster,Configuring Networking for an Elasticsearch Cluster,",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Configuring Routes for an Elasticsearch Cluster",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0076.html",
+ "node_id":"en-us_topic_0000001965416697.xml",
+ "product_code":"css",
+ "code":"71",
+ "des":"When public network access is enabled for an Elasticsearch cluster, the cluster is automatically assigned a public IP address with dedicated dynamic BGP bandwidth, making",
"doc_type":"usermanual",
"kw":"Configuring Public Network Access for an Elasticsearch Cluster,Configuring Networking for an Elastic",
"search_title":"",
@@ -1337,13 +1479,13 @@
"githuburl":""
},
{
- "uri":"css_01_0412.html",
- "node_id":"css_01_0412.xml",
+ "uri":"css_01_0082.html",
+ "node_id":"en-us_topic_0000001938377836.xml",
"product_code":"css",
- "code":"65",
- "des":"VPC Endpoint Service enables you to access resources across Virtual Private Clouds (VPCs) using a dedicated gateway, without exposing the network information of servers. ",
+ "code":"72",
+ "des":"VPC Endpoint enables you to access resources across VPCs using a dedicated gateway, without exposing the network information of servers. A VPC endpoint can be accessed vi",
"doc_type":"usermanual",
- "kw":"Configuring VPC Endpoint Service for an Elasticsearch Cluster,Configuring Networking for an Elastics",
+ "kw":"Configuring VPC Endpoints for an Elasticsearch Cluster,Configuring Networking for an Elasticsearch C",
"search_title":"",
"metedata":[
{
@@ -1354,14 +1496,14 @@
"IsBot":"Yes;yes"
}
],
- "title":"Configuring VPC Endpoint Service for an Elasticsearch Cluster",
+ "title":"Configuring VPC Endpoints for an Elasticsearch Cluster",
"githuburl":""
},
{
- "uri":"css_01_0413.html",
- "node_id":"css_01_0413.xml",
+ "uri":"css_01_0181.html",
+ "node_id":"en-us_topic_0000001938377780.xml",
"product_code":"css",
- "code":"66",
+ "code":"73",
"des":"CSS integrates shared load balancers, through which you can enable access to a cluster from the public network as well as through the VPC Endpoint service. Dedicated load",
"doc_type":"usermanual",
"kw":"Configuring a Dedicated Load Balancer for an Elasticsearch Cluster,Configuring Networking for an Ela",
@@ -1379,10 +1521,10 @@
"githuburl":""
},
{
- "uri":"css_01_0269.html",
- "node_id":"css_01_0269.xml",
+ "uri":"css_01_0033.html",
+ "node_id":"en-us_topic_0000001965496785.xml",
"product_code":"css",
- "code":"67",
+ "code":"74",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Backing up and Restoring the Data of an Elasticsearch Cluster",
@@ -1401,12 +1543,12 @@
},
{
"uri":"css_01_0267.html",
- "node_id":"css_01_0267.xml",
+ "node_id":"en-us_topic_0000001965497077.xml",
"product_code":"css",
- "code":"68",
- "des":"This topic describes two ways to create a snapshot to back up a CSS cluster: automatic and manual.Cluster snapshots will increase CPU usage and disk I/O. You are advised ",
+ "code":"75",
+ "des":"CSS allows you to use snapshots to back up and restore Elasticsearch cluster data. By storing a snapshot in an OBS bucket, you save a point-in-time copy of the cluster's ",
"doc_type":"usermanual",
- "kw":"Creating a Snapshot to Back Up the Data of an Elasticsearch Cluster,Backing up and Restoring the Dat",
+ "kw":"Creating Snapshots to Back Up the Data of an Elasticsearch Cluster,Backing up and Restoring the Data",
"search_title":"",
"metedata":[
{
@@ -1417,15 +1559,15 @@
"IsBot":"Yes;yes"
}
],
- "title":"Creating a Snapshot to Back Up the Data of an Elasticsearch Cluster",
+ "title":"Creating Snapshots to Back Up the Data of an Elasticsearch Cluster",
"githuburl":""
},
{
"uri":"css_01_0266.html",
- "node_id":"css_01_0266.xml",
+ "node_id":"en-us_topic_0000001965497113.xml",
"product_code":"css",
- "code":"69",
- "des":"Restore the data captured by a cluster snapshot to the current cluster or another eligible cluster.Cluster snapshots will increase CPU usage and disk I/O. You are advised",
+ "code":"76",
+ "des":"Use a snapshot to restore a point-in-time copy of an Elasticsearch cluster. You can restore it to the original cluster or to another eligible cluster. This process fetche",
"doc_type":"usermanual",
"kw":"Restoring the Data of an Elasticsearch Cluster Using a Snapshot,Backing up and Restoring the Data of",
"search_title":"",
@@ -1443,10 +1585,10 @@
},
{
"uri":"css_01_0271.html",
- "node_id":"css_01_0271.xml",
+ "node_id":"en-us_topic_0000001938377692.xml",
"product_code":"css",
- "code":"70",
- "des":"If you no longer need a snapshot, delete it to reclaim storage space.If automatic snapshot creation is enabled, snapshots that are automatically created cannot be deleted",
+ "code":"77",
+ "des":"Delete snapshots that are no longer needed to reclaim storage spaces.Deleting a snapshot will permanently delete its data.The deletion of automatically generated snapshot",
"doc_type":"usermanual",
"kw":"Deleting an Elasticsearch Cluster Snapshot,Backing up and Restoring the Data of an Elasticsearch Clu",
"search_title":"",
@@ -1463,10 +1605,10 @@
"githuburl":""
},
{
- "uri":"css_01_0414.html",
- "node_id":"css_01_0414.xml",
+ "uri":"css_01_0012.html",
+ "node_id":"en-us_topic_0000001945362244.xml",
"product_code":"css",
- "code":"71",
+ "code":"78",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Scaling an Elasticsearch Cluster",
@@ -1485,12 +1627,12 @@
},
{
"uri":"css_01_0151.html",
- "node_id":"css_01_0151.xml",
+ "node_id":"en-us_topic_0000001938218180.xml",
"product_code":"css",
- "code":"72",
- "des":"If the workloads on the data plane of an Elasticsearch cluster increase, you can scale out the cluster by increasing the quantity or capacity of its nodes, including chan",
+ "code":"79",
+ "des":"If an Elasticsearch cluster struggles to maintain performance in the face of rapid data growth or sustained high memory usage, you may scale it horizontally by adding mor",
"doc_type":"usermanual",
- "kw":"Scaling Out an Elasticsearch Cluster,Scaling an Elasticsearch Cluster,User Guide",
+ "kw":"Scaling Out/Up an Elasticsearch Cluster,Scaling an Elasticsearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1501,17 +1643,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Scaling Out an Elasticsearch Cluster",
+ "title":"Scaling Out/Up an Elasticsearch Cluster",
"githuburl":""
},
{
"uri":"css_01_0153.html",
- "node_id":"css_01_0153.xml",
+ "node_id":"en-us_topic_0000001965416781.xml",
"product_code":"css",
- "code":"73",
- "des":"If a cluster can process current traffic without fully utilizing its resources, you can scale in the cluster to cut costs.CSS supports multiple scale-in methods, as descr",
+ "code":"80",
+ "des":"If an Elasticsearch cluster has excess capacity due to off-peak traffic or reduced data volumes, you can reduce its nodes to optimize costs.For a pay-per-use cluster, you",
"doc_type":"usermanual",
- "kw":"Scaling In an Elasticsearch Cluster,Scaling an Elasticsearch Cluster,User Guide",
+ "kw":"Scaling In/Down an Elasticsearch Cluster,Scaling an Elasticsearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1522,17 +1664,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Scaling In an Elasticsearch Cluster",
+ "title":"Scaling In/Down an Elasticsearch Cluster",
"githuburl":""
},
{
"uri":"css_01_0186.html",
- "node_id":"css_01_0186.xml",
+ "node_id":"en-us_topic_0000001965496905.xml",
"product_code":"css",
- "code":"74",
- "des":"Elasticsearch clusters support same-version upgrade, cross-version upgrade, and cross-engine upgrade.Same-version upgrade means to upgrade kernel patches to the latest im",
+ "code":"81",
+ "des":"In CSS, you can upgrade the version of an Elasticsearch cluster to use feature and performance enhancements or fix known issues.The supported target versions vary dependi",
"doc_type":"usermanual",
- "kw":"Upgrading the Version of an Elasticsearch Cluster,Using Elasticsearch for Data Search,User Guide",
+ "kw":"Upgrading the Version of an Elasticsearch Cluster,Using Elasticsearch for Data Search,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1548,9 +1690,9 @@
},
{
"uri":"css_01_0009.html",
- "node_id":"css_01_0009.xml",
+ "node_id":"en-us_topic_0000001965416761.xml",
"product_code":"css",
- "code":"75",
+ "code":"82",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Managing Elasticsearch Clusters",
@@ -1568,13 +1710,13 @@
"githuburl":""
},
{
- "uri":"css_01_0415.html",
- "node_id":"css_01_0415.xml",
+ "uri":"css_01_0185.html",
+ "node_id":"en-us_topic_0000001938377752.xml",
"product_code":"css",
- "code":"76",
- "des":"On the Elasticsearch/OpenSearch cluster list and cluster information page, you can check the cluster status, version, and node information.A cluster list displays all clu",
+ "code":"83",
+ "des":"On the CSS management console, you can check an Elasticsearch cluster's status, version, nodes, configurations and settings, and resource allocation on the cluster list a",
"doc_type":"usermanual",
- "kw":"Viewing Elasticsearch Cluster Information,Managing Elasticsearch Clusters,User Guide",
+ "kw":"Viewing Elasticsearch Cluster Information,Managing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1589,10 +1731,10 @@
"githuburl":""
},
{
- "uri":"css_01_0417.html",
- "node_id":"css_01_0417.xml",
+ "uri":"css_01_0109.html",
+ "node_id":"en-us_topic_0000002115782578.xml",
"product_code":"css",
- "code":"77",
+ "code":"84",
"des":"CSS limits access to security-mode clusters to authorized users only. When creating a security-mode cluster, an administrator account must be created. This administrator ",
"doc_type":"usermanual",
"kw":"Creating Users for an Elasticsearch Cluster and Granting Cluster Access,Managing Elasticsearch Clust",
@@ -1611,12 +1753,12 @@
},
{
"uri":"css_01_0075.html",
- "node_id":"css_01_0075.xml",
+ "node_id":"en-us_topic_0000001938377572.xml",
"product_code":"css",
- "code":"78",
- "des":"Tags are cluster identifiers. Adding tags to clusters can help you identify and manage your cluster resources.You can add tags to a cluster when creating the cluster or a",
+ "code":"85",
+ "des":"Tags are cluster identifiers. Adding tags to clusters helps you identify and manage your cluster resources.Tags can be added during or after cluster creation. If you want",
"doc_type":"usermanual",
- "kw":"Setting Tags for an Elasticsearch Cluster,Managing Elasticsearch Clusters,User Guide",
+ "kw":"Setting Tags for an Elasticsearch Cluster,Managing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1632,10 +1774,10 @@
},
{
"uri":"css_01_0080.html",
- "node_id":"css_01_0080.xml",
+ "node_id":"en-us_topic_0000001965416825.xml",
"product_code":"css",
- "code":"79",
- "des":"You can modify an Elasticsearch cluster's configuration file for purposes like accelerating queries, enabling cross-domain access, adjusting the internal cache size, and ",
+ "code":"86",
+ "des":"You can modify an Elasticsearch cluster's configuration file for purposes like accelerating queries, modifying cross-domain access configuration, adjusting the internal c",
"doc_type":"usermanual",
"kw":"Configuring Default Parameters in the .yml Configuration File of an Elasticsearch Cluster,Managing E",
"search_title":"",
@@ -1653,12 +1795,12 @@
},
{
"uri":"css_01_0058.html",
- "node_id":"css_01_0058.xml",
+ "node_id":"en-us_topic_0000001938218348.xml",
"product_code":"css",
- "code":"80",
- "des":"You can create enterprise projects based on your organizational structure. Then you can manage resources across different regions by enterprise project, add users and use",
+ "code":"87",
+ "des":"In CSS, you can associate your Elasticsearch cluster with an enterprise project. You can create enterprise projects based on your organizational structure. Then you can m",
"doc_type":"usermanual",
- "kw":"Binding an Elasticsearch Cluster to an Enterprise Project,Managing Elasticsearch Clusters,User Guide",
+ "kw":"Associating an Elasticsearch Cluster with an Enterprise Project,Managing Elasticsearch Clusters,Usag",
"search_title":"",
"metedata":[
{
@@ -1669,17 +1811,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Binding an Elasticsearch Cluster to an Enterprise Project",
+ "title":"Associating an Elasticsearch Cluster with an Enterprise Project",
"githuburl":""
},
{
- "uri":"css_01_0418.html",
- "node_id":"css_01_0418.xml",
+ "uri":"css_01_0245.html",
+ "node_id":"en-us_topic_0000002038631273.xml",
"product_code":"css",
- "code":"81",
- "des":"If the workloads on the data plane of an Elasticsearch or OpenSearch cluster change, you can scale the cluster by changing its node specifications or disk types.If the da",
+ "code":"88",
+ "des":"If the workloads on an Elasticsearch cluster's data plane change, you can scale the cluster vertically by changing its node specifications or node storage type.For a pay-",
"doc_type":"usermanual",
- "kw":"Changing the Node Specifications of an Elasticsearch Cluster,Managing Elasticsearch Clusters,User Gu",
+ "kw":"Changing the Node Specifications and Storage Type of an Elasticsearch Cluster,Managing Elasticsearch",
"search_title":"",
"metedata":[
{
@@ -1690,17 +1832,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Changing the Node Specifications of an Elasticsearch Cluster",
+ "title":"Changing the Node Specifications and Storage Type of an Elasticsearch Cluster",
"githuburl":""
},
{
"uri":"css_01_0156.html",
- "node_id":"css_01_0156.xml",
+ "node_id":"en-us_topic_0000001938218332.xml",
"product_code":"css",
- "code":"82",
- "des":"If a node in a cluster becomes faulty, you can create a new node with the same specifications to replace it. Before the replacement of a specified node, the data of that ",
+ "code":"89",
+ "des":"If a node in an Elasticsearch cluster is faulty, you can replace it to restore services.The node replacement process is as follows:Migrate data from the node that needs t",
"doc_type":"usermanual",
- "kw":"Replacing Specified Nodes for an Elasticsearch Cluster,Managing Elasticsearch Clusters,User Guide",
+ "kw":"Replacing a Specified Node for an Elasticsearch Cluster,Managing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1711,17 +1853,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Replacing Specified Nodes for an Elasticsearch Cluster",
+ "title":"Replacing a Specified Node for an Elasticsearch Cluster",
"githuburl":""
},
{
"uri":"css_01_0158.html",
- "node_id":"css_01_0158.xml",
+ "node_id":"en-us_topic_0000001938218408.xml",
"product_code":"css",
- "code":"83",
- "des":"This topic describes how to change the security mode of an existing cluster.You can create a cluster by choosing its security mode and web protocol (HTTP or HTTPS). For d",
+ "code":"90",
+ "des":"With CSS, when an Elasticsearch cluster's security needs change, you can change its security mode settings.Configure the security mode based on the security needs of your",
"doc_type":"usermanual",
- "kw":"Changing the Security Mode of an Elasticsearch Cluster,Managing Elasticsearch Clusters,User Guide",
+ "kw":"Changing the Security Mode of an Elasticsearch Cluster,Managing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1737,12 +1879,12 @@
},
{
"uri":"css_01_0201.html",
- "node_id":"css_01_0201.xml",
+ "node_id":"en-us_topic_0000001938377520.xml",
"product_code":"css",
- "code":"84",
- "des":"CSS supports cross-AZ deployment. By switching AZs for a cluster, you can obtain more resources for the cluster or improve cluster availability.You can Add AZ or Migrate ",
+ "code":"91",
+ "des":"CSS supports cross-AZ deployment. By switching AZs for a cluster, you can make more resources available to the cluster or improve the cluster's availability.You can Add A",
"doc_type":"usermanual",
- "kw":"Switching AZs for an Elasticsearch Cluster,Managing Elasticsearch Clusters,User Guide",
+ "kw":"Switching AZs for an Elasticsearch Cluster,Managing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1758,12 +1900,12 @@
},
{
"uri":"css_01_0060.html",
- "node_id":"css_01_0060.xml",
+ "node_id":"en-us_topic_0000001938218168.xml",
"product_code":"css",
- "code":"85",
+ "code":"92",
"des":"In the Failed Tasks dialog box, you can view the failed tasks related to a cluster, such as failing to create, restart, scale out, back up, or restore a cluster. In addit",
"doc_type":"usermanual",
- "kw":"Managing Failed Tasks for Elasticsearch Clusters,Managing Elasticsearch Clusters,User Guide",
+ "kw":"Managing Failed Tasks for Elasticsearch Clusters,Managing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1779,12 +1921,12 @@
},
{
"uri":"css_01_0014.html",
- "node_id":"css_01_0014.xml",
+ "node_id":"en-us_topic_0000001938377912.xml",
"product_code":"css",
- "code":"86",
+ "code":"93",
"des":"If an Elasticsearch cluster has stopped working, you can try to recover it by restarting it. Two restart options are available: quick restart and rolling restart. You are",
"doc_type":"usermanual",
- "kw":"Restarting an Elasticsearch Cluster,Managing Elasticsearch Clusters,User Guide",
+ "kw":"Restarting an Elasticsearch Cluster,Managing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1800,12 +1942,12 @@
},
{
"uri":"css_01_0015.html",
- "node_id":"css_01_0015.xml",
+ "node_id":"en-us_topic_0000001938377864.xml",
"product_code":"css",
- "code":"87",
- "des":"You can delete clusters that you no longer need.Deleting a cluster will clear all its data. Exercise caution.A cluster that has no snapshots created for it cannot be rest",
+ "code":"94",
+ "des":"You can delete clusters that you no longer need.Deleting a cluster will delete all its data. Any data that has not been backed up will be permanently lost. Exercise cauti",
"doc_type":"usermanual",
- "kw":"Deleting an Elasticsearch Cluster,Managing Elasticsearch Clusters,User Guide",
+ "kw":"Deleting an Elasticsearch Cluster,Managing Elasticsearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -1821,9 +1963,9 @@
},
{
"uri":"css_01_0091.html",
- "node_id":"css_01_0091.xml",
+ "node_id":"en-us_topic_0000001965416669.xml",
"product_code":"css",
- "code":"88",
+ "code":"95",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Managing Index Policies for an Elasticsearch Cluster",
@@ -1841,10 +1983,10 @@
"githuburl":""
},
{
- "uri":"css_01_0419.html",
- "node_id":"css_01_0419.xml",
+ "uri":"css_01_0093.html",
+ "node_id":"en-us_topic_0000001938377904.xml",
"product_code":"css",
- "code":"89",
+ "code":"96",
"des":"This topic describes how to create and manage index lifecycle policies for Elasticsearch clusters.Index State Management (ISM) of Elasticsearch is a plugin that allows yo",
"doc_type":"usermanual",
"kw":"Creating and Managing Index Policies for an Elasticsearch Cluster,Managing Index Policies for an Ela",
@@ -1862,10 +2004,10 @@
"githuburl":""
},
{
- "uri":"css_01_0420.html",
- "node_id":"css_01_0420.xml",
+ "uri":"css_01_0021.html",
+ "node_id":"en-us_topic_0000001945382698.xml",
"product_code":"css",
- "code":"90",
+ "code":"97",
"des":"As time series data is continuously written into Elasticsearch and the index size keeps growing, you can configure Index Lifecycle Management (ISM) to periodically roll o",
"doc_type":"usermanual",
"kw":"Automating Index Rollover in an Elasticsearch Cluster Through Index Lifecycle Management,Managing In",
@@ -1883,10 +2025,10 @@
"githuburl":""
},
{
- "uri":"css_01_0421.html",
- "node_id":"css_01_0421.xml",
+ "uri":"css_01_0022.html",
+ "node_id":"en-us_topic_0000001945223382.xml",
"product_code":"css",
- "code":"91",
+ "code":"98",
"des":"CSS supports decoupled storage and compute. That is, indexes can be frozen and their data can be dumped to OBS to reduce the storage cost of cold data. This document desc",
"doc_type":"usermanual",
"kw":"Decoupling Index Storage and Compute in an Elasticsearch Cluster Through Index Lifecycle Management,",
@@ -1904,10 +2046,10 @@
"githuburl":""
},
{
- "uri":"css_01_0422.html",
- "node_id":"css_01_0422.xml",
+ "uri":"css_01_0016.html",
+ "node_id":"en-us_topic_0000001945364736.xml",
"product_code":"css",
- "code":"92",
+ "code":"99",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Elasticsearch Cluster Monitoring and Log Management",
@@ -1925,10 +2067,10 @@
"githuburl":""
},
{
- "uri":"css_01_0423.html",
- "node_id":"css_01_0423.xml",
+ "uri":"css_01_0025.html",
+ "node_id":"en-us_topic_0000001953303642.xml",
"product_code":"css",
- "code":"93",
+ "code":"100",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Elasticsearch Cluster Monitoring Metrics",
@@ -1946,11 +2088,11 @@
"githuburl":""
},
{
- "uri":"css_01_0424.html",
- "node_id":"css_01_0424.xml",
+ "uri":"css_01_0042.html",
+ "node_id":"en-us_topic_0000001987341233.xml",
"product_code":"css",
- "code":"94",
- "des":"You can use Cloud Eye to monitor CSS cluster metrics of in real time and quickly handle exceptions. For details about Cloud Eye, see Cloud Eye User Guide.You can use Clou",
+ "code":"101",
+ "des":"You can use Cloud Eye to monitor CSS cluster metrics in real time and quickly handle exceptions. For details about Cloud Eye, see Cloud Eye User Guide.This section descri",
"doc_type":"usermanual",
"kw":"Monitoring Metrics for Elasticsearch Clusters in Cloud Eye,Elasticsearch Cluster Monitoring Metrics,",
"search_title":"",
@@ -1967,10 +2109,10 @@
"githuburl":""
},
{
- "uri":"css_01_0425.html",
- "node_id":"css_01_0425.xml",
+ "uri":"css_01_0023.html",
+ "node_id":"en-us_topic_0000001987223073.xml",
"product_code":"css",
- "code":"95",
+ "code":"102",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Elasticsearch Cluster Monitoring Metrics Supported by the Kernel,Elasticsearch Cluster Monitoring Me",
@@ -1988,10 +2130,10 @@
"githuburl":""
},
{
- "uri":"css_01_0426.html",
- "node_id":"css_01_0426.xml",
+ "uri":"css_01_0026.html",
+ "node_id":"en-us_topic_0000001987382921.xml",
"product_code":"css",
- "code":"96",
+ "code":"103",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Configuring Elasticsearch Cluster Monitoring",
@@ -2010,12 +2152,12 @@
},
{
"uri":"css_01_0155.html",
- "node_id":"css_01_0155.xml",
+ "node_id":"en-us_topic_0000001965416773.xml",
"product_code":"css",
- "code":"97",
- "des":"With CSS, you can use Cloud Eye to monitor created clusters. After configuring the cluster monitoring, you can log in to the Cloud Eye management console to view cluster ",
+ "code":"104",
+ "des":"With CSS, you can use Cloud Eye to monitor created clusters. After configuring cluster monitoring, you can log in to the Cloud Eye management console to view cluster metr",
"doc_type":"usermanual",
- "kw":"Using Cloud Eye to Monitor Elasticsearch Clusters,Configuring Elasticsearch Cluster Monitoring,User ",
+ "kw":"Using Cloud Eye to Monitor Elasticsearch Clusters,Configuring Elasticsearch Cluster Monitoring,Usage",
"search_title":"",
"metedata":[
{
@@ -2030,11 +2172,11 @@
"githuburl":""
},
{
- "uri":"css_01_0427.html",
- "node_id":"css_01_0427.xml",
+ "uri":"css_01_0177.html",
+ "node_id":"en-us_topic_0000001938377876.xml",
"product_code":"css",
- "code":"98",
- "des":"Log in to the CSS management console.On the Clusters page, locate the target cluster, and click Access Kibana in the Operation column to access Kibana.Click Dev Tools in ",
+ "code":"105",
+ "des":"Log in to Kibana and go to the command execution page. Elasticsearch clusters support multiple access methods. This topic uses Kibana as an example to describe the operat",
"doc_type":"usermanual",
"kw":"Configuring Kernel Monitoring for an Elasticsearch Cluster,Configuring Elasticsearch Cluster Monitor",
"search_title":"",
@@ -2051,10 +2193,10 @@
"githuburl":""
},
{
- "uri":"css_01_0428.html",
- "node_id":"css_01_0428.xml",
+ "uri":"css_01_0135.html",
+ "node_id":"en-us_topic_0000001938218528.xml",
"product_code":"css",
- "code":"99",
+ "code":"106",
"des":"Index monitoring helps to monitor the index usage and trends of a cluster, allowing users to handle potential risks in a timely manner to ensure cluster reliability. Inde",
"doc_type":"usermanual",
"kw":"Configuring Index Monitoring for an Elasticsearch Cluster,Configuring Elasticsearch Cluster Monitori",
@@ -2073,9 +2215,9 @@
},
{
"uri":"css_01_0223.html",
- "node_id":"css_01_0223.xml",
+ "node_id":"en-us_topic_0000001938218508.xml",
"product_code":"css",
- "code":"100",
+ "code":"107",
"des":"This topic describes how to use the open-source Open Distro alarm plugin to configure alarm alerting via the Simple Message Notification (SMN) service for Elasticsearch c",
"doc_type":"usermanual",
"kw":"Setting Alarm Alerting via SMN for an Elasticsearch Cluster,Elasticsearch Cluster Monitoring and Log",
@@ -2093,10 +2235,10 @@
"githuburl":""
},
{
- "uri":"css_01_0429.html",
- "node_id":"css_01_0429.xml",
+ "uri":"css_01_0219.html",
+ "node_id":"en-us_topic_0000002122797792.xml",
"product_code":"css",
- "code":"101",
+ "code":"108",
"des":"Make necessary configurations in Kibana to synchronize Elasticsearch alerts to Prometheus so you can use Prometheus to monitor and analyze key performance metrics for Ela",
"doc_type":"usermanual",
"kw":"Synchronizing Elasticsearch Alerts to Prometheus,Elasticsearch Cluster Monitoring and Log Management",
@@ -2115,12 +2257,12 @@
},
{
"uri":"css_01_0077.html",
- "node_id":"css_01_0077.xml",
+ "node_id":"en-us_topic_0000001965416649.xml",
"product_code":"css",
- "code":"102",
- "des":"CSS supports log backup and search, so users can analyze logs to locate issues.You can have cluster logs periodically backed up to OBS buckets and download log files from",
+ "code":"109",
+ "des":"CSS provides log query and log backup, enabling you to easily manage and analyze logs to efficiently locate faults, optimize performance, and enhance system security.Log ",
"doc_type":"usermanual",
- "kw":"Querying and Managing Elasticsearch Cluster Logs,Elasticsearch Cluster Monitoring and Log Management",
+ "kw":"Managing Elasticsearch Cluster Logs,Elasticsearch Cluster Monitoring and Log Management,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2131,17 +2273,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Querying and Managing Elasticsearch Cluster Logs",
+ "title":"Managing Elasticsearch Cluster Logs",
"githuburl":""
},
{
"uri":"css_01_0050.html",
- "node_id":"css_01_0050.xml",
+ "node_id":"en-us_topic_0000001965416541.xml",
"product_code":"css",
- "code":"103",
+ "code":"110",
"des":"Cloud Trace Service (CTS) is available on the public cloud platform. With CTS, you can record operations associated with CSS for later query, audit, and backtrack operati",
"doc_type":"usermanual",
- "kw":"Viewing Elasticsearch Cluster Audit Logs,Using Elasticsearch for Data Search,User Guide",
+ "kw":"Viewing Elasticsearch Cluster Audit Logs,Using Elasticsearch for Data Search,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2157,9 +2299,9 @@
},
{
"uri":"css_01_0273.html",
- "node_id":"css_01_0273.xml",
+ "node_id":"en-us_topic_0000001965496881.xml",
"product_code":"css",
- "code":"104",
+ "code":"111",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Using OpenSearch for Data Search",
@@ -2177,13 +2319,13 @@
"githuburl":""
},
{
- "uri":"css_01_0438.html",
- "node_id":"css_01_0438.xml",
+ "uri":"css_01_0027.html",
+ "node_id":"en-us_topic_0000001955520796.xml",
"product_code":"css",
- "code":"105",
+ "code":"112",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
- "kw":"Procedure for Using OpenSearch,Using OpenSearch for Data Search,User Guide",
+ "kw":"Procedure for Using OpenSearch,Using OpenSearch for Data Search,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2198,13 +2340,13 @@
"githuburl":""
},
{
- "uri":"css_01_0439.html",
- "node_id":"css_01_0439.xml",
+ "uri":"css_01_0028.html",
+ "node_id":"en-us_topic_0000001991840137.xml",
"product_code":"css",
- "code":"106",
- "des":"Before creating an OpenSearch cluster, develop a plan for it, such as whether to deploy the cluster across multiple AZs to improve availability; the node quantity and spe",
+ "code":"113",
+ "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
- "kw":"OpenSearch Cluster Planning Suggestions,Using OpenSearch for Data Search,User Guide",
+ "kw":"OpenSearch Cluster Planning Suggestions",
"search_title":"",
"metedata":[
{
@@ -2219,13 +2361,76 @@
"githuburl":""
},
{
- "uri":"css_01_0275.html",
- "node_id":"css_01_0275.xml",
+ "uri":"css_01_0088.html",
+ "node_id":"en-us_topic_0000002353430533.xml",
"product_code":"css",
- "code":"107",
- "des":"This topic describes how to create an OpenSearch cluster.Table 1 lists key parameters that differentiate between different types of clusters.You have planned the OpenSear",
+ "code":"114",
+ "des":"This topic describes how to improve cluster availability by deploying a cluster across multiple AZs, including the rules for distributing cluster nodes among AZs, the rec",
"doc_type":"usermanual",
- "kw":"Creating an OpenSearch Cluster,Using OpenSearch for Data Search,User Guide",
+ "kw":"Planning Cluster AZs and HA,OpenSearch Cluster Planning Suggestions,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Planning Cluster AZs and HA",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0092.html",
+ "node_id":"en-us_topic_0000002353138321.xml",
+ "product_code":"css",
+ "code":"115",
+ "des":"This topic introduces different OpenSearch cluster versions, including features supported by each version and its application scenarios. It also describes the characteris",
+ "doc_type":"usermanual",
+ "kw":"Planning the Cluster Version and Security Mode,OpenSearch Cluster Planning Suggestions,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Planning the Cluster Version and Security Mode",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0094.html",
+ "node_id":"en-us_topic_0000002319471774.xml",
+ "product_code":"css",
+ "code":"116",
+ "des":"This topic describes the application scenarios and configuration suggestions for each type of cluster nodes, including data nodes, master nodes, client nodes, and cold da",
+ "doc_type":"usermanual",
+ "kw":"Planning Node Types and Specifications,OpenSearch Cluster Planning Suggestions,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Planning Node Types and Specifications",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0269.html",
+ "node_id":"en-us_topic_0000001965416769.xml",
+ "product_code":"css",
+ "code":"117",
+ "des":"This topic describes how to create an OpenSearch cluster. You can create an OpenSearch cluster in either of the following ways:Method 1: Create an OpenSearch cluster on t",
+ "doc_type":"usermanual",
+ "kw":"Creating an OpenSearch Cluster,Using OpenSearch for Data Search,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2241,9 +2446,9 @@
},
{
"uri":"css_01_0288.html",
- "node_id":"css_01_0288.xml",
+ "node_id":"en-us_topic_0000001938377832.xml",
"product_code":"css",
- "code":"108",
+ "code":"118",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Accessing an OpenSearch Cluster",
@@ -2261,13 +2466,13 @@
"githuburl":""
},
{
- "uri":"css_01_0440.html",
- "node_id":"css_01_0440.xml",
+ "uri":"css_01_0289.html",
+ "node_id":"en-us_topic_0000001992165561.xml",
"product_code":"css",
- "code":"109",
+ "code":"119",
"des":"There are many ways to connect to an OpenSearch cluster. Select the most appropriate access method based on the programming language you prefer. The various access method",
"doc_type":"usermanual",
- "kw":"OpenSearch Cluster Access Methods,Accessing an OpenSearch Cluster,User Guide",
+ "kw":"OpenSearch Cluster Access Methods,Accessing an OpenSearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2282,13 +2487,13 @@
"githuburl":""
},
{
- "uri":"css_01_0441.html",
- "node_id":"css_01_0441.xml",
+ "uri":"css_01_0327.html",
+ "node_id":"en-us_topic_0000001955726458.xml",
"product_code":"css",
- "code":"110",
+ "code":"120",
"des":"OpenSearch Dashboards is the data visualization and exploration platform for OpenSearch. It enables in-depth data analysis and interactive visualization. In CSS, OpenSear",
"doc_type":"usermanual",
- "kw":"Logging In to an OpenSearch Cluster Using OpenSearch Dashboards,Accessing an OpenSearch Cluster,User",
+ "kw":"Logging In to an OpenSearch Cluster Through OpenSearch Dashboards,Accessing an OpenSearch Cluster,Us",
"search_title":"",
"metedata":[
{
@@ -2299,17 +2504,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Logging In to an OpenSearch Cluster Using OpenSearch Dashboards",
+ "title":"Logging In to an OpenSearch Cluster Through OpenSearch Dashboards",
"githuburl":""
},
{
- "uri":"css_01_0442.html",
- "node_id":"css_01_0442.xml",
+ "uri":"css_01_0029.html",
+ "node_id":"en-us_topic_0000001992205769.xml",
"product_code":"css",
- "code":"111",
+ "code":"121",
"des":"Cerebro is an open-source Elasticsearch web admin tool, designed for real-time monitoring and efficient cluster operations. Cerebro works for OpenSearch just as well. In ",
"doc_type":"usermanual",
- "kw":"Logging In to an OpenSearch Cluster Through Cerebro,Accessing an OpenSearch Cluster,User Guide",
+ "kw":"Logging In to an OpenSearch Cluster Through Cerebro,Accessing an OpenSearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2324,13 +2529,13 @@
"githuburl":""
},
{
- "uri":"css_01_0443.html",
- "node_id":"css_01_0443.xml",
+ "uri":"css_01_0030.html",
+ "node_id":"en-us_topic_0000001992165565.xml",
"product_code":"css",
- "code":"112",
- "des":"Open-source Elasticsearch provides a series of RESTful APIs. You can run cURL commands to access these APIs using tools such as Kibana and Postman. This topic describes h",
+ "code":"122",
+ "des":"Open-source OpenSearch provides a series of RESTful APIs. You can run cURL commands to access these APIs using tools such as OpenSearch Dashboards and Postman. This topic",
"doc_type":"usermanual",
- "kw":"Accessing an OpenSearch Cluster Using cURL Commands,Accessing an OpenSearch Cluster,User Guide",
+ "kw":"Accessing an OpenSearch Cluster Using cURL Commands,Accessing an OpenSearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2345,13 +2550,97 @@
"githuburl":""
},
{
- "uri":"css_01_0452.html",
- "node_id":"css_01_0452.xml",
+ "uri":"css_01_0031.html",
+ "node_id":"en-us_topic_0000001955726462.xml",
"product_code":"css",
- "code":"113",
+ "code":"123",
+ "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "doc_type":"usermanual",
+ "kw":"Accessing an OpenSearch Cluster Using Java",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Accessing an OpenSearch Cluster Using Java",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0032.html",
+ "node_id":"en-us_topic_0000001992205773.xml",
+ "product_code":"css",
+ "code":"124",
+ "des":"You can query and manage data in a CSS OpenSearch cluster using the High Level REST Client. The High Level REST Client encapsulates OpenSearch APIs. You only need to cons",
+ "doc_type":"usermanual",
+ "kw":"Accessing an OpenSearch Cluster Using the High Level REST Client,Accessing an OpenSearch Cluster Usi",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Accessing an OpenSearch Cluster Using the High Level REST Client",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0037.html",
+ "node_id":"en-us_topic_0000001992165569.xml",
+ "product_code":"css",
+ "code":"125",
+ "des":"You can query and manage data in a CSS OpenSearch cluster using the Low Level REST Client. The Low Level REST Client encapsulates OpenSearch APIs. You only need to constr",
+ "doc_type":"usermanual",
+ "kw":"Accessing an OpenSearch Cluster Using the Low Level REST Client,Accessing an OpenSearch Cluster Usin",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Accessing an OpenSearch Cluster Using the Low Level REST Client",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0043.html",
+ "node_id":"en-us_topic_0000001992165573.xml",
+ "product_code":"css",
+ "code":"126",
+ "des":"You can access and manage data in a CSS OpenSearch cluster using the official OpenSearch Python client (opensearch-py) or Elasticsearch Python client (elasticsearch-py). ",
+ "doc_type":"usermanual",
+ "kw":"Accessing an OpenSearch Cluster with the Python Client,Accessing an OpenSearch Cluster,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Accessing an OpenSearch Cluster with the Python Client",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0248.html",
+ "node_id":"en-us_topic_0000002003441200.xml",
+ "product_code":"css",
+ "code":"127",
"des":"The Light Directory Access Protocol (LDAP) is a lightweight version of the directory access protocol based on the X.500 standard. An LDAP service provides user authentica",
"doc_type":"usermanual",
- "kw":"Accessing an OpenSearch Cluster Using LDAP,Accessing an OpenSearch Cluster,User Guide",
+ "kw":"Accessing an OpenSearch Cluster Using LDAP,Accessing an OpenSearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2366,10 +2655,10 @@
"githuburl":""
},
{
- "uri":"css_01_0453.html",
- "node_id":"css_01_0453.xml",
+ "uri":"css_01_0059.html",
+ "node_id":"en-us_topic_0000001955726474.xml",
"product_code":"css",
- "code":"114",
+ "code":"128",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Importing Data to an OpenSearch Cluster",
@@ -2387,13 +2676,13 @@
"githuburl":""
},
{
- "uri":"css_01_0454.html",
- "node_id":"css_01_0454.xml",
+ "uri":"css_01_0084.html",
+ "node_id":"en-us_topic_0000001992205785.xml",
"product_code":"css",
- "code":"115",
- "des":"OpenSearch clusters support multiple data import methods, as listed in Table 1. Select one that fits your needs the best. Before starting to import data, determine whethe",
+ "code":"129",
+ "des":"OpenSearch clusters support multiple data ingestion methods, as listed in Table 1. Select one that fits your needs the best. Before starting to ingest data, determine whe",
"doc_type":"usermanual",
- "kw":"Different Ways to Import Data to an OpenSearch Cluster,Importing Data to an OpenSearch Cluster,User ",
+ "kw":"Different Ways to Ingest Data into an OpenSearch Cluster,Importing Data to an OpenSearch Cluster,Usa",
"search_title":"",
"metedata":[
{
@@ -2404,17 +2693,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Different Ways to Import Data to an OpenSearch Cluster",
+ "title":"Different Ways to Ingest Data into an OpenSearch Cluster",
"githuburl":""
},
{
- "uri":"css_01_0455.html",
- "node_id":"css_01_0455.xml",
+ "uri":"css_01_0085.html",
+ "node_id":"en-us_topic_0000001955726478.xml",
"product_code":"css",
- "code":"116",
- "des":"You can use in-house built Logstash to migrate data to Elasticsearch or OpenSearch in CSS. This helps you effectively ingest and manage data through CSS. Data files can b",
+ "code":"130",
+ "des":"With CSS, you can use in-house developed Logstash to ingest data into OpenSearch for efficient search and exploration. Supported data formats include JSON and CSV.Logstas",
"doc_type":"usermanual",
- "kw":"Using In-house Built Logstash to Import Data to an OpenSearch Cluster,Importing Data to an OpenSearc",
+ "kw":"Using In-house Built Logstash to Ingest Data into an OpenSearch Cluster,Importing Data to an OpenSea",
"search_title":"",
"metedata":[
{
@@ -2425,14 +2714,14 @@
"IsBot":"Yes;yes"
}
],
- "title":"Using In-house Built Logstash to Import Data to an OpenSearch Cluster",
+ "title":"Using In-house Built Logstash to Ingest Data into an OpenSearch Cluster",
"githuburl":""
},
{
- "uri":"css_01_0456.html",
- "node_id":"css_01_0456.xml",
+ "uri":"css_01_0087.html",
+ "node_id":"en-us_topic_0000001992205789.xml",
"product_code":"css",
- "code":"117",
+ "code":"131",
"des":"With CSS, you can use open-source OpenSearch APIs on OpenSearch Dashboards or an ECS server to import data to an OpenSearch cluster. JSON files are supported. For details",
"doc_type":"usermanual",
"kw":"Using Open Source OpenSearch APIs to Import Data to an OpenSearch Cluster,Importing Data to an OpenS",
@@ -2450,13 +2739,13 @@
"githuburl":""
},
{
- "uri":"css_01_0457.html",
- "node_id":"css_01_0457.xml",
+ "uri":"css_01_0089.html",
+ "node_id":"en-us_topic_0000001992165585.xml",
"product_code":"css",
- "code":"118",
- "des":"With CSS, you can use the web user interface of the Cloud Data Migration (CDM) service to import data from an Oracle database or OBS to an Elasticsearch or OpenSearch clu",
+ "code":"132",
+ "des":"With CSS, you can use the web user interface of the Cloud Data Migration (CDM) service to import data from an Oracle database or OBS to an OpenSearch cluster. Only JSON f",
"doc_type":"usermanual",
- "kw":"Using CDM to Import Data to an OpenSearch Cluster,Importing Data to an OpenSearch Cluster,User Guide",
+ "kw":"Using CDM to Import Data to an OpenSearch Cluster,Importing Data to an OpenSearch Cluster,Usage Guid",
"search_title":"",
"metedata":[
{
@@ -2471,13 +2760,13 @@
"githuburl":""
},
{
- "uri":"css_01_0458.html",
- "node_id":"css_01_0458.xml",
+ "uri":"css_01_0090.html",
+ "node_id":"en-us_topic_0000001955726482.xml",
"product_code":"css",
- "code":"119",
- "des":"This unique CSS feature significantly improves data import performance and reduces write rejections through bulk route optimization, text index acceleration, and word seg",
+ "code":"133",
+ "des":"This unique CSS feature significantly enhances data ingestion performance and reduces write rejections through bulk route optimization, text index acceleration, and word ",
"doc_type":"usermanual",
- "kw":"Enhancing the Data Import Performance of OpenSearch Clusters,Importing Data to an OpenSearch Cluster",
+ "kw":"Enhancing the Data Ingestion Performance of OpenSearch Clusters,Importing Data to an OpenSearch Clus",
"search_title":"",
"metedata":[
{
@@ -2488,14 +2777,14 @@
"IsBot":"Yes;yes"
}
],
- "title":"Enhancing the Data Import Performance of OpenSearch Clusters",
+ "title":"Enhancing the Data Ingestion Performance of OpenSearch Clusters",
"githuburl":""
},
{
- "uri":"css_01_0459.html",
- "node_id":"css_01_0459.xml",
+ "uri":"css_01_0074.html",
+ "node_id":"en-us_topic_0000001992205793.xml",
"product_code":"css",
- "code":"120",
+ "code":"134",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Searching Data in an OpenSearch Cluster",
@@ -2513,13 +2802,13 @@
"githuburl":""
},
{
- "uri":"css_01_0460.html",
- "node_id":"css_01_0460.xml",
+ "uri":"css_01_0081.html",
+ "node_id":"en-us_topic_0000001992165589.xml",
"product_code":"css",
- "code":"121",
+ "code":"135",
"des":"DSL is the specified query language for OpenSearch. It is the best language for interaction between OpenSearch clusters and clients. OpenSearch DSL is a JSON-based langua",
"doc_type":"usermanual",
- "kw":"Using DSL to Search for Data in OpenSearch,Searching Data in an OpenSearch Cluster,User Guide",
+ "kw":"Using DSL to Search for Data in OpenSearch,Searching Data in an OpenSearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2534,13 +2823,13 @@
"githuburl":""
},
{
- "uri":"css_01_0461.html",
- "node_id":"css_01_0461.xml",
+ "uri":"css_01_0083.html",
+ "node_id":"en-us_topic_0000001955726486.xml",
"product_code":"css",
- "code":"122",
+ "code":"136",
"des":"For OpenSearch clusters, Open Distro for OpenSearch SQL lets you write queries in SQL rather than the OpenSearch query domain-specific language (DSL).Users who are famili",
"doc_type":"usermanual",
- "kw":"Using SQL to Search for Data in OpenSearch,Searching Data in an OpenSearch Cluster,User Guide",
+ "kw":"Using SQL to Search for Data in OpenSearch,Searching Data in an OpenSearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2555,10 +2844,10 @@
"githuburl":""
},
{
- "uri":"css_01_0462.html",
- "node_id":"css_01_0462.xml",
+ "uri":"css_01_0095.html",
+ "node_id":"en-us_topic_0000001992205797.xml",
"product_code":"css",
- "code":"123",
+ "code":"137",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Enhancing Search Capabilities for OpenSearch Clusters",
@@ -2576,10 +2865,10 @@
"githuburl":""
},
{
- "uri":"css_01_0463.html",
- "node_id":"css_01_0463.xml",
+ "uri":"css_01_0098.html",
+ "node_id":"en-us_topic_0000001992165593.xml",
"product_code":"css",
- "code":"124",
+ "code":"138",
"des":"Compared with open-source OpenSearch, OpenSearch clusters in CSS have many enhanced features. Table 1 lists these enhanced features and the corresponding cluster versions",
"doc_type":"usermanual",
"kw":"Search Enhancement Features for OpenSearch Clusters,Enhancing Search Capabilities for OpenSearch Clu",
@@ -2597,10 +2886,10 @@
"githuburl":""
},
{
- "uri":"css_01_0464.html",
- "node_id":"css_01_0464.xml",
+ "uri":"css_01_0101.html",
+ "node_id":"en-us_topic_0000001955726490.xml",
"product_code":"css",
- "code":"125",
+ "code":"139",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Configuring Vector Search for OpenSearch Clusters",
@@ -2618,13 +2907,13 @@
"githuburl":""
},
{
- "uri":"css_01_0465.html",
- "node_id":"css_01_0465.xml",
+ "uri":"css_01_0103.html",
+ "node_id":"en-us_topic_0000001992205801.xml",
"product_code":"css",
- "code":"126",
- "des":"Unstructured data, such as images, videos, and language corpora, is converted into vectors, which are searched based on similarity using either an exact or approximate ne",
+ "code":"140",
+ "des":"In the age of AI, unstructured data such as images, videos, audios, and text is growing rapidly. Traditional keyword-based search cannot effectively handle unstructured d",
"doc_type":"usermanual",
- "kw":"About Vector Search,Configuring Vector Search for OpenSearch Clusters,User Guide",
+ "kw":"About CSS Vector Search,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2635,17 +2924,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"About Vector Search",
+ "title":"About CSS Vector Search",
"githuburl":""
},
{
- "uri":"css_01_0466.html",
- "node_id":"css_01_0466.xml",
+ "uri":"css_01_0171.html",
+ "node_id":"en-us_topic_0000002333230682.xml",
"product_code":"css",
- "code":"127",
- "des":"To create a vector index, perform the following steps:(Optional) Preparations: Configure advanced cluster settings based on service needs.(Optional) Pre-Building and Regi",
+ "code":"141",
+ "des":"Integrating efficient indexing techniques, the CSS vector database delivers a high-performance, low-cost, scalable solution for high-dimensional vector search. An OpenSea",
"doc_type":"usermanual",
- "kw":"Creating Vector Indexes in an OpenSearch Cluster,Configuring Vector Search for OpenSearch Clusters,U",
+ "kw":"Creating an OpenSearch Vector Cluster,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2656,17 +2945,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Creating Vector Indexes in an OpenSearch Cluster",
+ "title":"Creating an OpenSearch Vector Cluster",
"githuburl":""
},
{
- "uri":"css_01_0467.html",
- "node_id":"css_01_0467.xml",
+ "uri":"css_01_0115.html",
+ "node_id":"en-us_topic_0000001992165597.xml",
"product_code":"css",
- "code":"128",
- "des":"Vector indexes support data searches in many different ways.Standard QueryCompound QueryScriptScore QueryRe-Score QueryPainless Syntax ExtensionStandard QueryCompound Que",
+ "code":"142",
+ "des":"Create a vector index in your OpenSearch cluster and define a mapping that contains vector fields, including vector dimensions, indexing algorithm, and similarity measure",
"doc_type":"usermanual",
- "kw":"Using Vector Indexes for Data Search in an OpenSearch Cluster,Configuring Vector Search for OpenSear",
+ "kw":"Creating a Vector Index,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2677,17 +2966,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Using Vector Indexes for Data Search in an OpenSearch Cluster",
+ "title":"Creating a Vector Index",
"githuburl":""
},
{
- "uri":"css_01_0468.html",
- "node_id":"css_01_0468.xml",
+ "uri":"css_01_0019.html",
+ "node_id":"en-us_topic_0000002333390490.xml",
"product_code":"css",
- "code":"129",
- "des":"To reduce the cost of backup, disable the backup function before data import and enable it afterwards.Set refresh_interval to 120s or a larger value. Larger segments can ",
+ "code":"143",
+ "des":"Importing vector data is the process of ingesting data to the CSS vector database. When writing vector data to a vector index, you need to specify the vector field (for e",
"doc_type":"usermanual",
- "kw":"Optimizing the Write and Query Performance of Vector Search,Configuring Vector Search for OpenSearch",
+ "kw":"Importing Vector Data,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2698,17 +2987,59 @@
"IsBot":"Yes;yes"
}
],
- "title":"Optimizing the Write and Query Performance of Vector Search",
+ "title":"Importing Vector Data",
"githuburl":""
},
{
- "uri":"css_01_0469.html",
- "node_id":"css_01_0469.xml",
+ "uri":"css_01_0119.html",
+ "node_id":"en-us_topic_0000001955726494.xml",
"product_code":"css",
- "code":"130",
- "des":"The vector search engine is developed in C++ and uses off-heap memory. You can use the following APIs to manage the index cache.View cache statistics.GET /_vector/statsIn",
+ "code":"144",
+ "des":"The CSS vector database supports a variety of query methods, including standard query, hybrid query, script_score query, rescore query, and painless syntax extension. The",
"doc_type":"usermanual",
- "kw":"Managing the Vector Index Cache,Configuring Vector Search for OpenSearch Clusters,User Guide",
+ "kw":"Performing Vector Search,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Performing Vector Search",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0120.html",
+ "node_id":"en-us_topic_0000001992205805.xml",
+ "product_code":"css",
+ "code":"145",
+ "des":"This topic explains how to optimize the performance of a CSS vector database from two aspects—write and query.Writing vector data incurs three major overheads: replica sy",
+ "doc_type":"usermanual",
+ "kw":"Optimizing Vector Cluster Performance,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Optimizing Vector Cluster Performance",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0125.html",
+ "node_id":"en-us_topic_0000001992165601.xml",
+ "product_code":"css",
+ "code":"146",
+ "des":"The CSS vector search engine is built on C++. It uses off-heap memory to enhance performance and efficiency. To better manage and optimize the vector index cache, the CSS",
+ "doc_type":"usermanual",
+ "kw":"Managing the Vector Index Cache,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2723,13 +3054,34 @@
"githuburl":""
},
{
- "uri":"css_01_0470.html",
- "node_id":"css_01_0470.xml",
+ "uri":"css_01_0112.html",
+ "node_id":"en-us_topic_0000002426355865.xml",
"product_code":"css",
- "code":"131",
+ "code":"147",
+ "des":"Nested fields allow multiple vectorized records to be stored in a single document. For example, in an RAG scenario, documents usually need to be segmented by paragraph or",
+ "doc_type":"usermanual",
+ "kw":"Using Nested Fields for Vector Search,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Using Nested Fields for Vector Search",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0127.html",
+ "node_id":"en-us_topic_0000001955726498.xml",
+ "product_code":"css",
+ "code":"148",
"des":"OpenSearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Python code for creating vector indexes, and importin",
"doc_type":"usermanual",
- "kw":"Client Code Sample for Vector Search (Python),Configuring Vector Search for OpenSearch Clusters,User",
+ "kw":"Sample Python Code for Vector Search,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2740,17 +3092,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Client Code Sample for Vector Search (Python)",
+ "title":"Sample Python Code for Vector Search",
"githuburl":""
},
{
- "uri":"css_01_0471.html",
- "node_id":"css_01_0471.xml",
+ "uri":"css_01_0160.html",
+ "node_id":"en-us_topic_0000001992205809.xml",
"product_code":"css",
- "code":"132",
+ "code":"149",
"des":"OpenSearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Java code for creating vector indexes, and importing ",
"doc_type":"usermanual",
- "kw":"Client Code Sample for Vector Search (Java),Configuring Vector Search for OpenSearch Clusters,User G",
+ "kw":"Sample Java Code for Vector Search,Configuring Vector Search for OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -2761,17 +3113,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Client Code Sample for Vector Search (Java)",
+ "title":"Sample Java Code for Vector Search",
"githuburl":""
},
{
- "uri":"css_01_0473.html",
- "node_id":"css_01_0473.xml",
+ "uri":"css_01_0180.html",
+ "node_id":"en-us_topic_0000001992205813.xml",
"product_code":"css",
- "code":"133",
- "des":"CSS stores new data as hot data on SSDs to ensure optimal query performance, and historical data as cold data in OBS to cut storage costs.With storage-compute decoupling,",
+ "code":"150",
+ "des":"As data grows exponentially, traditional monolithic storage architectures struggle to balance performance and cost efficiency. To support high-speed real-time queries whi",
"doc_type":"usermanual",
- "kw":"Configuring Storage-Compute Decoupling for an OpenSearch Cluster,Enhancing Search Capabilities for O",
+ "kw":"Configuring Decoupled Storage and Compute for an OpenSearch Cluster,Enhancing Search Capabilities fo",
"search_title":"",
"metedata":[
{
@@ -2782,15 +3134,99 @@
"IsBot":"Yes;yes"
}
],
- "title":"Configuring Storage-Compute Decoupling for an OpenSearch Cluster",
+ "title":"Configuring Decoupled Storage and Compute for an OpenSearch Cluster",
"githuburl":""
},
{
- "uri":"css_01_0474.html",
- "node_id":"css_01_0474.xml",
+ "uri":"css_01_0056.html",
+ "node_id":"en-us_topic_0000002353029832.xml",
"product_code":"css",
- "code":"134",
- "des":"In an OpenSearch cluster that has cold data nodes, index data can switch between cold and hot storage. This helps optimize storage costs and improve query performance.Hot",
+ "code":"151",
+ "des":"Configure flow control policies for your OpenSearch cluster in both the inbound and outbound directions, ensuring cluster stability by safeguarding against abnormal traff",
+ "doc_type":"usermanual",
+ "kw":"Configuring Flow Control for an OpenSearch Cluster,Enhancing Search Capabilities for OpenSearch Clus",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Configuring Flow Control for an OpenSearch Cluster",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0053.html",
+ "node_id":"en-us_topic_0000002352870024.xml",
+ "product_code":"css",
+ "code":"152",
+ "des":"Large query isolation can be configured to manage queries that have high memory usage or take too long to complete. This helps improve the stability of OpenSearch cluster",
+ "doc_type":"usermanual",
+ "kw":"Configuring Large Query Isolation for an OpenSearch Cluster,Enhancing Search Capabilities for OpenSe",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Configuring Large Query Isolation for an OpenSearch Cluster",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0110.html",
+ "node_id":"en-us_topic_0000002385090550.xml",
+ "product_code":"css",
+ "code":"153",
+ "des":"CSS OpenSearch clusters enhance aggregation performance in the face of large data volumes by leveraging vectorization and optimized clustering, enabling faster analytics ",
+ "doc_type":"usermanual",
+ "kw":"Configuring Enhanced Aggregation for an OpenSearch Cluster,Enhancing Search Capabilities for OpenSea",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Configuring Enhanced Aggregation for an OpenSearch Cluster",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0049.html",
+ "node_id":"en-us_topic_0000002386790381.xml",
+ "product_code":"css",
+ "code":"154",
+ "des":"As business expands, and data volumes and access requests grow exponentially, a monolithic architecture where a single cluster handles both write and query requests faces",
+ "doc_type":"usermanual",
+ "kw":"Configuring Read/Write Splitting Between Two OpenSearch Clusters,Enhancing Search Capabilities for O",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Configuring Read/Write Splitting Between Two OpenSearch Clusters",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0200.html",
+ "node_id":"en-us_topic_0000001992205821.xml",
+ "product_code":"css",
+ "code":"155",
+ "des":"In an OpenSearch cluster, switching between hot and cold data storage means to allocate data to nodes of different performance standards based on data temperature (that i",
"doc_type":"usermanual",
"kw":"Switching Between Hot and Cold Storage for an OpenSearch Cluster,Enhancing Search Capabilities for O",
"search_title":"",
@@ -2807,10 +3243,31 @@
"githuburl":""
},
{
- "uri":"css_01_0475.html",
- "node_id":"css_01_0475.xml",
+ "uri":"css_01_0047.html",
+ "node_id":"en-us_topic_0000002386670109.xml",
"product_code":"css",
- "code":"135",
+ "code":"156",
+ "des":"By default, when indexes are deleted in an OpenSearch cluster, the index data is deleted permanently. To prevent data loss caused by accidental deletion, CSS provides an ",
+ "doc_type":"usermanual",
+ "kw":"Configuring an Index Recycle Bin for an OpenSearch Cluster,Enhancing Search Capabilities for OpenSea",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Configuring an Index Recycle Bin for an OpenSearch Cluster",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0206.html",
+ "node_id":"en-us_topic_0000001955726514.xml",
+ "product_code":"css",
+ "code":"157",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Configuring Networking for an OpenSearch Cluster",
@@ -2828,11 +3285,32 @@
"githuburl":""
},
{
- "uri":"css_01_0476.html",
- "node_id":"css_01_0476.xml",
+ "uri":"css_01_0280.html",
+ "node_id":"en-us_topic_0000002262960288.xml",
"product_code":"css",
- "code":"136",
- "des":"Public network access is supported only when Security Mode and HTTPS Access are enabled for a cluster. When Public IP Address is enabled, a public IP address is automatic",
+ "code":"158",
+ "des":"By default, a CSS OpenSearch cluster cannot access a target service—such as a client program or a Lightweight Directory Access Protocol (LDAP) service—that is located in ",
+ "doc_type":"usermanual",
+ "kw":"Configuring Routes for an OpenSearch Cluster,Configuring Networking for an OpenSearch Cluster,Usage ",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Configuring Routes for an OpenSearch Cluster",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0290.html",
+ "node_id":"en-us_topic_0000001992205825.xml",
+ "product_code":"css",
+ "code":"159",
+ "des":"When public network access is enabled for an OpenSearch cluster, the cluster is automatically assigned a public IP address with dedicated dynamic BGP bandwidth, making it",
"doc_type":"usermanual",
"kw":"Configuring Public Network Access for an OpenSearch Cluster,Configuring Networking for an OpenSearch",
"search_title":"",
@@ -2849,11 +3327,11 @@
"githuburl":""
},
{
- "uri":"css_01_0477.html",
- "node_id":"css_01_0477.xml",
+ "uri":"css_01_0291.html",
+ "node_id":"en-us_topic_0000001992165621.xml",
"product_code":"css",
- "code":"137",
- "des":"VPC Endpoint Service enables you to access resources across Virtual Private Clouds (VPCs) using a dedicated gateway, without exposing the network information of servers. ",
+ "code":"160",
+ "des":"VPC Endpoint enables you to access resources across VPCs using a dedicated gateway, without exposing the network information of servers. A VPC endpoint can be accessed vi",
"doc_type":"usermanual",
"kw":"Configuring VPC Endpoint Service for an OpenSearch Cluster,Configuring Networking for an OpenSearch ",
"search_title":"",
@@ -2870,10 +3348,10 @@
"githuburl":""
},
{
- "uri":"css_01_0478.html",
- "node_id":"css_01_0478.xml",
+ "uri":"css_01_0182.html",
+ "node_id":"en-us_topic_0000001955726518.xml",
"product_code":"css",
- "code":"138",
+ "code":"161",
"des":"CSS integrates shared load balancers, through which you can enable access to a cluster from the public network as well as through the VPC Endpoint service. Dedicated load",
"doc_type":"usermanual",
"kw":"Configuring a Dedicated Load Balancer for an OpenSearch Cluster,Configuring Networking for an OpenSe",
@@ -2891,10 +3369,10 @@
"githuburl":""
},
{
- "uri":"css_01_0479.html",
- "node_id":"css_01_0479.xml",
+ "uri":"css_01_0297.html",
+ "node_id":"en-us_topic_0000001992205829.xml",
"product_code":"css",
- "code":"139",
+ "code":"162",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Backing up and Restoring the Data of an OpenSearch Cluster",
@@ -2912,13 +3390,13 @@
"githuburl":""
},
{
- "uri":"css_01_0480.html",
- "node_id":"css_01_0480.xml",
+ "uri":"css_01_0298.html",
+ "node_id":"en-us_topic_0000001992165625.xml",
"product_code":"css",
- "code":"140",
- "des":"This topic describes two ways to create snapshots to back up a CSS cluster: automatic and manual.Cluster snapshots will increase CPU usage and disk I/O. You are advised t",
+ "code":"163",
+ "des":"CSS allows you to use snapshots to back up and restore the data of an OpenSearch cluster. By storing a snapshot in an OBS bucket, you save a point-in-time copy of the clu",
"doc_type":"usermanual",
- "kw":"Creating a Snapshot to Back Up the Data of an OpenSearch Cluster,Backing up and Restoring the Data o",
+ "kw":"Creating Snapshots to Back Up the Data of an OpenSearch Cluster,Backing up and Restoring the Data of",
"search_title":"",
"metedata":[
{
@@ -2929,17 +3407,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Creating a Snapshot to Back Up the Data of an OpenSearch Cluster",
+ "title":"Creating Snapshots to Back Up the Data of an OpenSearch Cluster",
"githuburl":""
},
{
- "uri":"css_01_0481.html",
- "node_id":"css_01_0481.xml",
+ "uri":"css_01_0300.html",
+ "node_id":"en-us_topic_0000001955726522.xml",
"product_code":"css",
- "code":"141",
- "des":"Restore the data captured by a cluster snapshot to the current cluster or another eligible cluster.Cluster snapshots will increase CPU usage and disk I/O. You are advised",
+ "code":"164",
+ "des":"Use a snapshot to restore a point-in-time copy of an OpenSearch cluster. You can restore it to the original cluster or to another eligible cluster. This process fetches t",
"doc_type":"usermanual",
- "kw":"Restoring the Data of an OpenSearch Cluster,Backing up and Restoring the Data of an OpenSearch Clust",
+ "kw":"Restoring a Snapshot of an OpenSearch Cluster,Backing up and Restoring the Data of an OpenSearch Clu",
"search_title":"",
"metedata":[
{
@@ -2950,15 +3428,15 @@
"IsBot":"Yes;yes"
}
],
- "title":"Restoring the Data of an OpenSearch Cluster",
+ "title":"Restoring a Snapshot of an OpenSearch Cluster",
"githuburl":""
},
{
- "uri":"css_01_0482.html",
- "node_id":"css_01_0482.xml",
+ "uri":"css_01_0301.html",
+ "node_id":"en-us_topic_0000001992205833.xml",
"product_code":"css",
- "code":"142",
- "des":"If you no longer need a snapshot, delete it to reclaim storage space.If automatic snapshot creation is enabled, snapshots that are automatically created cannot be deleted",
+ "code":"165",
+ "des":"Delete snapshots that are no longer needed to reclaim storage spaces.Deleting a snapshot will permanently delete its data.The deletion of automatically generated snapshot",
"doc_type":"usermanual",
"kw":"Deleting an OpenSearch Cluster Snapshot,Backing up and Restoring the Data of an OpenSearch Cluster,U",
"search_title":"",
@@ -2975,10 +3453,10 @@
"githuburl":""
},
{
- "uri":"css_01_0483.html",
- "node_id":"css_01_0483.xml",
+ "uri":"css_01_0208.html",
+ "node_id":"en-us_topic_0000001992165629.xml",
"product_code":"css",
- "code":"143",
+ "code":"166",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Scaling an OpenSearch Cluster",
@@ -2996,13 +3474,13 @@
"githuburl":""
},
{
- "uri":"css_01_0484.html",
- "node_id":"css_01_0484.xml",
+ "uri":"css_01_0304.html",
+ "node_id":"en-us_topic_0000001955726526.xml",
"product_code":"css",
- "code":"144",
- "des":"If the workloads on the data plane of an OpenSearch cluster increase, you can scale out the cluster by increasing the quantity or capacity of its nodes, including changin",
+ "code":"167",
+ "des":"If an OpenSearch cluster struggles to maintain performance in the face of rapid data growth or sustained high memory usage, you may scale it horizontally by adding more n",
"doc_type":"usermanual",
- "kw":"Scaling Out an OpenSearch Cluster,Scaling an OpenSearch Cluster,User Guide",
+ "kw":"Scaling Out/Up an OpenSearch Cluster,Scaling an OpenSearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3013,17 +3491,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Scaling Out an OpenSearch Cluster",
+ "title":"Scaling Out/Up an OpenSearch Cluster",
"githuburl":""
},
{
- "uri":"css_01_0485.html",
- "node_id":"css_01_0485.xml",
+ "uri":"css_01_0306.html",
+ "node_id":"en-us_topic_0000001992205837.xml",
"product_code":"css",
- "code":"145",
- "des":"If a cluster can process current traffic without fully utilizing its resources, you can scale in the cluster to cut costs.CSS supports multiple scale-in methods, as descr",
+ "code":"168",
+ "des":"If an OpenSearch cluster has excess capacity due to off-peak traffic or reduced data volumes, you can reduce its nodes to optimize costs.For a pay-per-use cluster, you ca",
"doc_type":"usermanual",
- "kw":"Scaling In an OpenSearch Cluster,Scaling an OpenSearch Cluster,User Guide",
+ "kw":"Scaling In/Down an OpenSearch Cluster,Scaling an OpenSearch Cluster,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3034,17 +3512,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Scaling In an OpenSearch Cluster",
+ "title":"Scaling In/Down an OpenSearch Cluster",
"githuburl":""
},
{
- "uri":"css_01_0186_0.html",
- "node_id":"css_01_0186_0.xml",
+ "uri":"css_01_0263.html",
+ "node_id":"en-us_topic_0000002187138965.xml",
"product_code":"css",
- "code":"146",
- "des":"OpenSearch clusters support both same-version upgrade and cross-version upgrade.During a same-version upgrade, kernel patches are updated for a cluster. The cluster is up",
+ "code":"169",
+ "des":"In CSS, you can upgrade the version of an OpenSearch cluster to use feature and performance enhancements or fix known issues.A maximum of 20 clusters can be upgraded at t",
"doc_type":"usermanual",
- "kw":"Upgrading the Version of an OpenSearch Cluster,Using OpenSearch for Data Search,User Guide",
+ "kw":"Upgrading the Version of an OpenSearch Cluster,Using OpenSearch for Data Search,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3059,10 +3537,10 @@
"githuburl":""
},
{
- "uri":"css_01_0486.html",
- "node_id":"css_01_0486.xml",
+ "uri":"css_01_0274.html",
+ "node_id":"en-us_topic_0000001955726530.xml",
"product_code":"css",
- "code":"147",
+ "code":"170",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Managing OpenSearch Clusters",
@@ -3080,13 +3558,13 @@
"githuburl":""
},
{
- "uri":"css_01_0487.html",
- "node_id":"css_01_0487.xml",
+ "uri":"css_01_0276.html",
+ "node_id":"en-us_topic_0000001992205841.xml",
"product_code":"css",
- "code":"148",
- "des":"On the Elasticsearch/OpenSearch cluster list and cluster information page, you can check the cluster status, version, and node information.A cluster list displays all clu",
+ "code":"171",
+ "des":"On the CSS management console, you can check an OpenSearch cluster's status, version, nodes, configurations and settings, and resource allocation on the cluster list and ",
"doc_type":"usermanual",
- "kw":"Viewing OpenSearch Cluster Information,Managing OpenSearch Clusters,User Guide",
+ "kw":"Viewing OpenSearch Cluster Information,Managing OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3102,9 +3580,9 @@
},
{
"uri":"css_01_0329.html",
- "node_id":"css_01_0329.xml",
+ "node_id":"en-us_topic_0000001965496885.xml",
"product_code":"css",
- "code":"149",
+ "code":"172",
"des":"CSS limits access to security-mode clusters to authorized users only. When creating a security-mode cluster, an administrator account must be created. This administrator ",
"doc_type":"usermanual",
"kw":"Creating Users for an OpenSearch Cluster and Granting Cluster Access,Managing OpenSearch Clusters,Us",
@@ -3122,13 +3600,13 @@
"githuburl":""
},
{
- "uri":"css_01_0488.html",
- "node_id":"css_01_0488.xml",
+ "uri":"css_01_0277.html",
+ "node_id":"en-us_topic_0000001955726534.xml",
"product_code":"css",
- "code":"150",
- "des":"Tags are cluster identifiers. Adding tags to clusters can help you identify and manage your cluster resources.You can add tags to a cluster when creating the cluster or a",
+ "code":"173",
+ "des":"Tags are cluster identifiers. Adding tags to clusters helps you identify and manage your cluster resources.Tags can be added during or after cluster creation. If you want",
"doc_type":"usermanual",
- "kw":"Setting Tags for an OpenSearch Cluster,Managing OpenSearch Clusters,User Guide",
+ "kw":"Setting Tags for an OpenSearch Cluster,Managing OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3143,11 +3621,11 @@
"githuburl":""
},
{
- "uri":"css_01_0489.html",
- "node_id":"css_01_0489.xml",
+ "uri":"css_01_0316.html",
+ "node_id":"en-us_topic_0000001992205845.xml",
"product_code":"css",
- "code":"151",
- "des":"You can modify an OpenSearch cluster's configuration file for purposes like accelerating queries, enabling cross-domain access, adjusting the internal cache size, and man",
+ "code":"174",
+ "des":"You can modify an OpenSearch cluster's configuration file for purposes like accelerating queries, modifying cross-domain access configuration, adjusting the internal cach",
"doc_type":"usermanual",
"kw":"Configuring Default Parameters in the .yml Configuration File of an OpenSearch Cluster,Managing Open",
"search_title":"",
@@ -3164,13 +3642,13 @@
"githuburl":""
},
{
- "uri":"css_01_0490.html",
- "node_id":"css_01_0490.xml",
+ "uri":"css_01_0285.html",
+ "node_id":"en-us_topic_0000001992165641.xml",
"product_code":"css",
- "code":"152",
- "des":"You can create enterprise projects based on your organizational structure. Then you can manage resources across different regions by enterprise project, add users and use",
+ "code":"175",
+ "des":"In CSS, you can associate your OpenSearch cluster with an enterprise project. You can create enterprise projects based on your organizational structure. Then you can mana",
"doc_type":"usermanual",
- "kw":"Binding an OpenSearch Cluster to an Enterprise Project,Managing OpenSearch Clusters,User Guide",
+ "kw":"Associating an OpenSearch Cluster with an Enterprise Project,Managing OpenSearch Clusters,Usage Guid",
"search_title":"",
"metedata":[
{
@@ -3181,17 +3659,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Binding an OpenSearch Cluster to an Enterprise Project",
+ "title":"Associating an OpenSearch Cluster with an Enterprise Project",
"githuburl":""
},
{
- "uri":"css_01_0491.html",
- "node_id":"css_01_0491.xml",
+ "uri":"css_01_0246.html",
+ "node_id":"en-us_topic_0000002002393048.xml",
"product_code":"css",
- "code":"153",
- "des":"If the workloads on the data plane of an OpenSearch cluster change, you can scale the cluster by changing its node specifications or disk types.If the data volume is larg",
+ "code":"176",
+ "des":"If the workloads on an OpenSearch cluster's data plane change, you can scale the cluster vertically by changing its node specifications or node storage type.For a pay-per",
"doc_type":"usermanual",
- "kw":"Changing the Node Specifications of an OpenSearch Cluster,Managing OpenSearch Clusters,User Guide",
+ "kw":"Changing the Node Specifications of an OpenSearch Cluster,Managing OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3206,13 +3684,13 @@
"githuburl":""
},
{
- "uri":"css_01_0492.html",
- "node_id":"css_01_0492.xml",
+ "uri":"css_01_0308.html",
+ "node_id":"en-us_topic_0000001955726538.xml",
"product_code":"css",
- "code":"154",
- "des":"If a node in a cluster becomes faulty, you can create a new node with the same specifications to replace it. Before the replacement of a specified node, the data of that ",
+ "code":"177",
+ "des":"If a node in an OpenSearch cluster is faulty, you can replace it to restore services.The node replacement process is as follows:Migrate data from the node that needs to b",
"doc_type":"usermanual",
- "kw":"Replacing Specified Nodes for an OpenSearch Cluster,Managing OpenSearch Clusters,User Guide",
+ "kw":"Replacing Specified Nodes for an OpenSearch Cluster,Managing OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3227,13 +3705,13 @@
"githuburl":""
},
{
- "uri":"css_01_0493.html",
- "node_id":"css_01_0493.xml",
+ "uri":"css_01_0310.html",
+ "node_id":"en-us_topic_0000001992205853.xml",
"product_code":"css",
- "code":"155",
- "des":"This topic describes how to change the security mode of an existing cluster.You can create a cluster by choosing its security mode and web protocol (HTTP or HTTPS). For d",
+ "code":"178",
+ "des":"With CSS, when an OpenSearch cluster's security needs change, you can change its security mode settings.Configure the security mode based on the security needs of your cl",
"doc_type":"usermanual",
- "kw":"Changing the Security Mode of an OpenSearch Cluster,Managing OpenSearch Clusters,User Guide",
+ "kw":"Changing the Security Mode of an OpenSearch Cluster,Managing OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3248,13 +3726,13 @@
"githuburl":""
},
{
- "uri":"css_01_0494.html",
- "node_id":"css_01_0494.xml",
+ "uri":"css_01_0311.html",
+ "node_id":"en-us_topic_0000001992165645.xml",
"product_code":"css",
- "code":"156",
- "des":"CSS supports cross-AZ deployment. By switching AZs for a cluster, you can obtain more resources for the cluster or improve cluster availability.You can Add AZ or Migrate ",
+ "code":"179",
+ "des":"CSS supports cross-AZ deployment. By switching AZs for a cluster, you can make more resources available to the cluster or improve the cluster's availability.You can Add A",
"doc_type":"usermanual",
- "kw":"Switching AZs for an OpenSearch Cluster,Managing OpenSearch Clusters,User Guide",
+ "kw":"Switching AZs for an OpenSearch Cluster,Managing OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3269,13 +3747,13 @@
"githuburl":""
},
{
- "uri":"css_01_0499.html",
- "node_id":"css_01_0499.xml",
+ "uri":"css_01_0286.html",
+ "node_id":"en-us_topic_0000001992165653.xml",
"product_code":"css",
- "code":"157",
+ "code":"180",
"des":"If an OpenSearch cluster has stopped working, you can try to recover it by restarting it. Two restart options are available: quick restart and rolling restart. You are ad",
"doc_type":"usermanual",
- "kw":"Restarting an OpenSearch Cluster,Managing OpenSearch Clusters,User Guide",
+ "kw":"Restarting an OpenSearch Cluster,Managing OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3290,13 +3768,13 @@
"githuburl":""
},
{
- "uri":"css_01_0500.html",
- "node_id":"css_01_0500.xml",
+ "uri":"css_01_0287.html",
+ "node_id":"en-us_topic_0000001955726550.xml",
"product_code":"css",
- "code":"158",
- "des":"You can delete clusters that you no longer need.Deleting a cluster will clear all its data. Exercise caution.A cluster that has no snapshots created for it cannot be rest",
+ "code":"181",
+ "des":"You can delete clusters that you no longer need.Deleting a cluster will delete all its data. Any data that has not been backed up will be permanently lost. Exercise cauti",
"doc_type":"usermanual",
- "kw":"Deleting an OpenSearch Cluster,Managing OpenSearch Clusters,User Guide",
+ "kw":"Deleting an OpenSearch Cluster,Managing OpenSearch Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3311,10 +3789,10 @@
"githuburl":""
},
{
- "uri":"css_01_0501.html",
- "node_id":"css_01_0501.xml",
+ "uri":"css_01_0320.html",
+ "node_id":"en-us_topic_0000001992205865.xml",
"product_code":"css",
- "code":"159",
+ "code":"182",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Managing Index Policies for OpenSearch Clusters",
@@ -3333,12 +3811,12 @@
},
{
"uri":"css_01_0319.html",
- "node_id":"css_01_0319.xml",
+ "node_id":"en-us_topic_0000001965496865.xml",
"product_code":"css",
- "code":"160",
+ "code":"183",
"des":"This topic describes how to create and manage index lifecycle policies for OpenSearch clusters.Index State Management (ISM) of OpenSearch is a plugin that allows you to a",
"doc_type":"usermanual",
- "kw":"Creating and Managing OpenSearch Index Policies,Managing Index Policies for OpenSearch Clusters,User",
+ "kw":"Creating and Managing OpenSearch Index Policies,Managing Index Policies for OpenSearch Clusters,Usag",
"search_title":"",
"metedata":[
{
@@ -3353,10 +3831,10 @@
"githuburl":""
},
{
- "uri":"css_01_0502.html",
- "node_id":"css_01_0502.xml",
+ "uri":"css_01_0209.html",
+ "node_id":"en-us_topic_0000001955726554.xml",
"product_code":"css",
- "code":"161",
+ "code":"184",
"des":"As time series data is continuously written into OpenSearch and the index size keeps growing, you can configure Index Lifecycle Management (ISM) to periodically roll over",
"doc_type":"usermanual",
"kw":"Automating Index Rollover in an OpenSearch Cluster Through Index Lifecycle Management,Managing Index",
@@ -3374,10 +3852,10 @@
"githuburl":""
},
{
- "uri":"css_01_0503.html",
- "node_id":"css_01_0503.xml",
+ "uri":"css_01_0211.html",
+ "node_id":"en-us_topic_0000001992205869.xml",
"product_code":"css",
- "code":"162",
+ "code":"185",
"des":"CSS supports decoupled storage and compute. That is, indexes can be frozen in OBS to reduce the storage cost of cold data. This document describes how to use index lifecy",
"doc_type":"usermanual",
"kw":"Decoupling Index Storage and Compute in an OpenSearch Cluster Through Index Lifecycle Management,Man",
@@ -3395,10 +3873,10 @@
"githuburl":""
},
{
- "uri":"css_01_0504.html",
- "node_id":"css_01_0504.xml",
+ "uri":"css_01_0212.html",
+ "node_id":"en-us_topic_0000001992165661.xml",
"product_code":"css",
- "code":"163",
+ "code":"186",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"OpenSearch Cluster Monitoring and Log Management",
@@ -3416,11 +3894,11 @@
"githuburl":""
},
{
- "uri":"css_01_0505.html",
- "node_id":"css_01_0505.xml",
+ "uri":"css_01_0213.html",
+ "node_id":"en-us_topic_0000001992205873.xml",
"product_code":"css",
- "code":"164",
- "des":"You can use Cloud Eye to monitor CSS cluster metrics in real time and quickly handle exceptions. For details about Cloud Eye, see Cloud Eye User Guide.You can use Cloud E",
+ "code":"187",
+ "des":"You can use Cloud Eye to monitor CSS cluster metrics in real time and quickly handle exceptions. For details about Cloud Eye, see Cloud Eye User Guide.This section descri",
"doc_type":"usermanual",
"kw":"Monitoring Metrics for OpenSearch Clusters in Cloud Eye,OpenSearch Cluster Monitoring and Log Manage",
"search_title":"",
@@ -3437,13 +3915,13 @@
"githuburl":""
},
{
- "uri":"css_01_0506.html",
- "node_id":"css_01_0506.xml",
+ "uri":"css_01_0214.html",
+ "node_id":"en-us_topic_0000001992205877.xml",
"product_code":"css",
- "code":"165",
- "des":"With CSS, you can use Cloud Eye to monitor created clusters. After configuring the cluster monitoring, you can log in to the Cloud Eye management console to view cluster ",
+ "code":"188",
+ "des":"With CSS, you can use Cloud Eye to monitor created clusters. After configuring cluster monitoring, you can log in to the Cloud Eye management console to view cluster metr",
"doc_type":"usermanual",
- "kw":"Using Cloud Eye to Monitor OpenSearch Clusters,OpenSearch Cluster Monitoring and Log Management,User",
+ "kw":"Using Cloud Eye to Monitor OpenSearch Clusters,OpenSearch Cluster Monitoring and Log Management,Usag",
"search_title":"",
"metedata":[
{
@@ -3458,11 +3936,32 @@
"githuburl":""
},
{
- "uri":"css_01_0364.html",
- "node_id":"css_01_0364.xml",
+ "uri":"css_01_0045.html",
+ "node_id":"en-us_topic_0000002353029836.xml",
"product_code":"css",
- "code":"166",
- "des":"By default, CSS has installed the open-source alert plugin opensearch-alerting for OpenSearch clusters to send notifications when data meets specific conditions. This plu",
+ "code":"189",
+ "des":"Index monitoring helps you monitor the index status, statistics, and trends of a cluster, allowing you to promptly handle potential risks to ensure cluster reliability. B",
+ "doc_type":"usermanual",
+ "kw":"Configuring Index Monitoring for an OpenSearch Cluster,OpenSearch Cluster Monitoring and Log Managem",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Configuring Index Monitoring for an OpenSearch Cluster",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0364.html",
+ "node_id":"en-us_topic_0000001938218372.xml",
+ "product_code":"css",
+ "code":"190",
+ "des":"This topic describes how to use an open-source alerting or notification plugin to configure alarm alerting via the Simple Message Notification (SMN) service for OpenSearc",
"doc_type":"usermanual",
"kw":"Setting Alarm Alerting via SMN for an OpenSearch Cluster,OpenSearch Cluster Monitoring and Log Manag",
"search_title":"",
@@ -3479,13 +3978,13 @@
"githuburl":""
},
{
- "uri":"css_01_0508.html",
- "node_id":"css_01_0508.xml",
+ "uri":"css_01_0106.html",
+ "node_id":"en-us_topic_0000002384208466.xml",
"product_code":"css",
- "code":"167",
- "des":"CSS supports log backup and search, so users can analyze logs to locate issues.You can have cluster logs periodically backed up to OBS buckets and download log files from",
+ "code":"191",
+ "des":"Make necessary configurations in OpenSearch Dashboards to synchronize OpenSearch alerts to Prometheus so you can use Prometheus to monitor and analyze key performance met",
"doc_type":"usermanual",
- "kw":"Querying and Managing OpenSearch Cluster Logs,OpenSearch Cluster Monitoring and Log Management,User ",
+ "kw":"Synchronizing OpenSearch Alerts to Prometheus,OpenSearch Cluster Monitoring and Log Management,Usage",
"search_title":"",
"metedata":[
{
@@ -3496,17 +3995,38 @@
"IsBot":"Yes;yes"
}
],
- "title":"Querying and Managing OpenSearch Cluster Logs",
+ "title":"Synchronizing OpenSearch Alerts to Prometheus",
"githuburl":""
},
{
- "uri":"css_01_0509.html",
- "node_id":"css_01_0509.xml",
+ "uri":"css_01_0321.html",
+ "node_id":"en-us_topic_0000001955726570.xml",
"product_code":"css",
- "code":"168",
- "des":"Cloud Trace Service (CTS) is available on the public cloud platform. With CTS, you can record operations associated with CSS for later query, audit, and backtrack operati",
+ "code":"192",
+ "des":"CSS provides log query and log backup, enabling you to easily manage and analyze logs to efficiently locate faults, optimize performance, and enhance system security.Log ",
"doc_type":"usermanual",
- "kw":"Viewing OpenSearch Cluster Audit Logs,Using OpenSearch for Data Search,User Guide",
+ "kw":"Managing OpenSearch Cluster Logs,OpenSearch Cluster Monitoring and Log Management,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "IsMulti":"No;yes",
+ "opensource":"true",
+ "documenttype":"usermanual",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Managing OpenSearch Cluster Logs",
+ "githuburl":""
+ },
+ {
+ "uri":"css_01_0051.html",
+ "node_id":"en-us_topic_0000001991346681.xml",
+ "product_code":"css",
+ "code":"193",
+ "des":"Cloud Trace Service (CTS) is available on the public cloud platform. CTS can record operations associated with CSS for subsequent query, auditing, and backtracking purpos",
+ "doc_type":"usermanual",
+ "kw":"Viewing OpenSearch Cluster Audit Logs,Using OpenSearch for Data Search,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3521,13 +4041,13 @@
"githuburl":""
},
{
- "uri":"css_01_0544.html",
- "node_id":"css_01_0544.xml",
+ "uri":"css_01_0250.html",
+ "node_id":"en-us_topic_0000002005581684.xml",
"product_code":"css",
- "code":"169",
- "des":"On the Dashboard page of the CSS management console, you can check the resource monitoring metrics and alarms of CSS.Check CSS alarms on the Dashboard page.Log in to the ",
+ "code":"194",
+ "des":"On the Monitoring and Dashboard pages of the CSS management console, you can check the resource monitoring metrics and alarms of CSS.CSS's out-of-the-box monitoring dashb",
"doc_type":"usermanual",
- "kw":"CSS Resource Monitoring,User Guide",
+ "kw":"CSS Resource Monitoring,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3542,10 +4062,10 @@
"githuburl":""
},
{
- "uri":"en-us_topic_0000001944961884.html",
+ "uri":"css_00_0003.html",
"node_id":"en-us_topic_0000001944961884.xml",
"product_code":"css",
- "code":"170",
+ "code":"195",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"FAQs",
@@ -3553,9 +4073,9 @@
"metedata":[
{
"prodname":"css",
+ "IsMulti":"No;yes",
"opensource":"true",
"documenttype":"usermanual",
- "IsMulti":"No;yes",
"IsBot":"Yes;yes"
}
],
@@ -3564,9 +4084,9 @@
},
{
"uri":"css_02_0051.html",
- "node_id":"css_02_0051.xml",
+ "node_id":"en-us_topic_0000001960517789.xml",
"product_code":"css",
- "code":"171",
+ "code":"196",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"General Consulting",
@@ -3585,12 +4105,12 @@
},
{
"uri":"css_02_0006.html",
- "node_id":"css_02_0006.xml",
+ "node_id":"en-us_topic_0000001960397625.xml",
"product_code":"css",
- "code":"172",
+ "code":"197",
"des":"CSS uses network isolation in addition to various host and data security measures.Network isolationThe entire network is divided into two planes: service plane and manage",
"doc_type":"usermanual",
- "kw":"How Does CSS Ensure Data and Workload Security?,General Consulting,User Guide",
+ "kw":"How Does CSS Ensure Data and Workload Security?,General Consulting,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3606,12 +4126,12 @@
},
{
"uri":"css_02_0008.html",
- "node_id":"css_02_0008.xml",
+ "node_id":"en-us_topic_0000001933159186.xml",
"product_code":"css",
- "code":"173",
- "des":"CSS uses EVS and local disks to store your indices. During cluster creation, you can specify the EVS disk type and specifications (the EVS disk size).EVS disk types inclu",
+ "code":"198",
+ "des":"CSS uses EVS and local disks to store your indexes. During cluster creation, you can specify the EVS disk type and specifications (the EVS disk size).EVS disk types inclu",
"doc_type":"usermanual",
- "kw":"What Storage Options Are Available for a CSS Cluster?,General Consulting,User Guide",
+ "kw":"What Storage Options Are Available for a CSS Cluster?,General Consulting,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3627,12 +4147,12 @@
},
{
"uri":"css_02_0010.html",
- "node_id":"css_02_0010.xml",
+ "node_id":"en-us_topic_0000001933318562.xml",
"product_code":"css",
- "code":"174",
- "des":"You can store the following logs and files:Log files: Elasticsearch logsData files: Elasticsearch index filesOther files: cluster configuration filesOS: 5% storage space ",
+ "code":"199",
+ "des":"You can store the following logs and files:Log files: cluster logsData files: cluster index filesOther files: cluster configuration filesOS: 5% of the storage space is re",
"doc_type":"usermanual",
- "kw":"What Files Are Stored in the Disk Spaces of a CSS Cluster?,General Consulting,User Guide",
+ "kw":"What Files Are Stored on the Disks of a CSS Cluster?,General Consulting,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3643,17 +4163,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"What Files Are Stored in the Disk Spaces of a CSS Cluster?",
+ "title":"What Files Are Stored on the Disks of a CSS Cluster?",
"githuburl":""
},
{
"uri":"css_02_0041.html",
- "node_id":"css_02_0041.xml",
+ "node_id":"en-us_topic_0000001960397605.xml",
"product_code":"css",
- "code":"175",
+ "code":"200",
"des":"CSS supports two data compression algorithms: LZ4 (by default) and best_compression.LZ4 algorithmLZ4 is the default compression algorithm for Elasticsearch. This algorith",
"doc_type":"usermanual",
- "kw":"What Data Compression Algorithms Does CSS Use?,General Consulting,User Guide",
+ "kw":"What Data Compression Algorithms Does CSS Use?,General Consulting,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3667,32 +4187,11 @@
"title":"What Data Compression Algorithms Does CSS Use?",
"githuburl":""
},
- {
- "uri":"css_02_0098.html",
- "node_id":"css_02_0098.xml",
- "product_code":"css",
- "code":"176",
- "des":"With Elasticsearch 7.10.2 (with an image version no earlier than 7.10.2_24.3.3_x.x.x), Kibana supports one-click data export in CSV.A maximum of 10 MB of data can be expo",
- "doc_type":"usermanual",
- "kw":"Can I Export Data from Kibana in CSS?,General Consulting,User Guide",
- "search_title":"",
- "metedata":[
- {
- "prodname":"css",
- "opensource":"false;true",
- "documenttype":"usermanual",
- "IsMulti":"No",
- "IsBot":"Yes;yes"
- }
- ],
- "title":"Can I Export Data from Kibana in CSS?",
- "githuburl":""
- },
{
"uri":"css_02_0077.html",
- "node_id":"css_02_0077.xml",
+ "node_id":"en-us_topic_0000001933318502.xml",
"product_code":"css",
- "code":"177",
+ "code":"201",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Accessing CSS Clusters",
@@ -3710,11 +4209,11 @@
"githuburl":""
},
{
- "uri":"en-us_topic_0000001963573269.html",
+ "uri":"css_02_0076.html",
"node_id":"en-us_topic_0000001963573269.xml",
"product_code":"css",
- "code":"178",
- "des":"If you want to change the administrator password of a security cluster or you have forgotten the password, reset the password.On the Clusters page, locate the target clus",
+ "code":"202",
+ "des":"If you want to change the administrator password of a security-mode cluster, or if you have forgotten the password, reset the password.Log in to the CSS management consol",
"doc_type":"usermanual",
"kw":"How Do I Reset the Administrator Password of a Security-mode Cluster in CSS?,Accessing CSS Clusters,",
"search_title":"",
@@ -3732,12 +4231,12 @@
},
{
"uri":"css_02_0083.html",
- "node_id":"css_02_0083.xml",
+ "node_id":"en-us_topic_0000001933159170.xml",
"product_code":"css",
- "code":"179",
+ "code":"203",
"des":"Yes. Port 9200 is used by external systems to access CSS clusters, and port 9300 is used for communication between nodes.The methods for accessing port 9300 are as follow",
"doc_type":"usermanual",
- "kw":"Are Ports 9200 and 9300 Open for Access to Elasticsearch Clusters?,Accessing CSS Clusters,User Guide",
+ "kw":"Are Ports 9200 and 9300 Open for Access to Elasticsearch Clusters?,Accessing CSS Clusters,Usage Guid",
"search_title":"",
"metedata":[
{
@@ -3753,12 +4252,12 @@
},
{
"uri":"css_02_0033.html",
- "node_id":"css_02_0033.xml",
+ "node_id":"en-us_topic_0000001933318494.xml",
"product_code":"css",
- "code":"180",
- "des":"Perform the following operations:1.Obtaining CSS Information2.Configuring a NAT Gateway3.Modifying Security Group Rules4.Accessing CSS from the InternetIf your CSS cluste",
+ "code":"204",
+ "des":"Perform the following operations:1. Obtaining Cluster Information2. Configuring a NAT Gateway3. Modifying Security Group Rules for the Cluster4. Accessing a Cluster over ",
"doc_type":"usermanual",
- "kw":"How Do I Use a NAT Gateway to Access CSS from the Internet?,Accessing CSS Clusters,User Guide",
+ "kw":"How Do I Use a NAT Gateway to Enable Public Network Access for an Elasticsearch/OpenSearch Cluster?,",
"search_title":"",
"metedata":[
{
@@ -3769,14 +4268,14 @@
"IsBot":"Yes;yes"
}
],
- "title":"How Do I Use a NAT Gateway to Access CSS from the Internet?",
+ "title":"How Do I Use a NAT Gateway to Enable Public Network Access for an Elasticsearch/OpenSearch Cluster?",
"githuburl":""
},
{
"uri":"css_02_0097.html",
- "node_id":"css_02_0097.xml",
+ "node_id":"en-us_topic_0000001960397601.xml",
"product_code":"css",
- "code":"181",
+ "code":"205",
"des":"Only Kibana images of the OSS version can be connected to Elasticsearch clusters in CSS.Create an ECS.The ECS must be within the same VPC as the CSS cluster.Port 5601 mus",
"doc_type":"usermanual",
"kw":"How Do I Connect In-house Developed Kibana to an Elasticsearch Cluster in CSS?,Accessing CSS Cluster",
@@ -3794,10 +4293,10 @@
"githuburl":""
},
{
- "uri":"en-us_topic_0000002021043217.html",
+ "uri":"css_02_0152.html",
"node_id":"en-us_topic_0000002021043217.xml",
"product_code":"css",
- "code":"182",
+ "code":"206",
"des":"Only OpenSearch Dashboards images of the OSS version can be connected to OpenSearch clusters in CSS.Create an ECS.The ECS must be within the same VPC as the CSS cluster.P",
"doc_type":"usermanual",
"kw":"How Do I Connect In-house Developed OpenSearch Dashboards to an OpenSearch Cluster in CSS?,Accessing",
@@ -3816,9 +4315,9 @@
},
{
"uri":"css_02_0146.html",
- "node_id":"css_02_0146.xml",
+ "node_id":"en-us_topic_0000001933159162.xml",
"product_code":"css",
- "code":"183",
+ "code":"207",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Migrating CSS Clusters",
@@ -3837,12 +4336,12 @@
},
{
"uri":"css_02_0058.html",
- "node_id":"css_02_0058.xml",
+ "node_id":"en-us_topic_0000001933159174.xml",
"product_code":"css",
- "code":"184",
+ "code":"208",
"des":"Use either of the following methods to migrate Elasticsearch clusters across different VPCs:Use the backup and restoration function to migrate cluster data.Connect the VP",
"doc_type":"usermanual",
- "kw":"Can CSS Elasticsearch Clusters Be Migrated Across VPCs?,Migrating CSS Clusters,User Guide",
+ "kw":"Can CSS Elasticsearch Clusters Be Migrated Across VPCs?,Migrating CSS Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3858,12 +4357,12 @@
},
{
"uri":"css_02_0094.html",
- "node_id":"css_02_0094.xml",
+ "node_id":"en-us_topic_0000001933318530.xml",
"product_code":"css",
- "code":"185",
+ "code":"209",
"des":"In CSS, perform the following to migrate Elasticsearch clusters across different regions:If the OBS bucket is in the same region as your CSS cluster, migrate the cluster ",
"doc_type":"usermanual",
- "kw":"Can CSS Clusters Be Migrated Across Different Regions?,Migrating CSS Clusters,User Guide",
+ "kw":"Can CSS Clusters Be Migrated Across Different Regions?,Migrating CSS Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -3878,10 +4377,31 @@
"githuburl":""
},
{
- "uri":"css_02_0055.html",
- "node_id":"css_02_0055.xml",
+ "uri":"css_02_0098.html",
+ "node_id":"en-us_topic_0000001960517881.xml",
"product_code":"css",
- "code":"186",
+ "code":"210",
+ "des":"With Elasticsearch 7.10.2 (with an image version no earlier than 7.10.2_24.3.3_x.x.x), Kibana supports one-click data export in CSV.A maximum of 10 MB of data can be expo",
+ "doc_type":"usermanual",
+ "kw":"Can I Export Data from Kibana in CSS?,Migrating CSS Clusters,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "opensource":"false;true",
+ "documenttype":"usermanual",
+ "IsMulti":"No",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Can I Export Data from Kibana in CSS?",
+ "githuburl":""
+ },
+ {
+ "uri":"css_02_0055.html",
+ "node_id":"en-us_topic_0000001960397609.xml",
+ "product_code":"css",
+ "code":"211",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Using CSS Cluster Search Engines",
@@ -3900,9 +4420,9 @@
},
{
"uri":"css_02_0042.html",
- "node_id":"css_02_0042.xml",
+ "node_id":"en-us_topic_0000001960517825.xml",
"product_code":"css",
- "code":"187",
+ "code":"212",
"des":"The possible causes are as follows:Shards were unevenly distributed in previous index allocations, and the predominate parameter in the latest indexed shard allocation wa",
"doc_type":"usermanual",
"kw":"Why Are Newly Created Index Shards Allocated to a Single Node in CSS?,Using CSS Cluster Search Engin",
@@ -3921,9 +4441,9 @@
},
{
"uri":"css_02_0132.html",
- "node_id":"css_02_0132.xml",
+ "node_id":"en-us_topic_0000001960517829.xml",
"product_code":"css",
- "code":"188",
+ "code":"213",
"des":"In Elasticsearch 7.x and later versions, types cannot be created for indexes.If you need to use types, add include_type_name=true to the command. Only a single type is su",
"doc_type":"usermanual",
"kw":"How Do I Create a Type Under an Index in an Elasticsearch 7.x Cluster of CSS?,Using CSS Cluster Sear",
@@ -3942,9 +4462,9 @@
},
{
"uri":"css_02_0089.html",
- "node_id":"css_02_0089.xml",
+ "node_id":"en-us_topic_0000001960517841.xml",
"product_code":"css",
- "code":"189",
+ "code":"214",
"des":"When creating an index for an Elasticsearch cluster, you can specify the number of shards, that is, the number of primary shards. Once an index is created, the number of ",
"doc_type":"usermanual",
"kw":"How Do I Change the Number of Replicas for Elasticsearch Indexes in CSS?,Using CSS Cluster Search En",
@@ -3963,9 +4483,9 @@
},
{
"uri":"css_02_0124.html",
- "node_id":"css_02_0124.xml",
+ "node_id":"en-us_topic_0000001933159122.xml",
"product_code":"css",
- "code":"190",
+ "code":"215",
"des":"A large number of shards in a cluster slows down shard creation.If automatic index creation is enabled, slow index creation may cause a large number of write requests to ",
"doc_type":"usermanual",
"kw":"What Are the Impacts If an Elasticsearch Cluster of CSS Has Too Many Shards?,Using CSS Cluster Searc",
@@ -3984,12 +4504,12 @@
},
{
"uri":"css_02_0093.html",
- "node_id":"css_02_0093.xml",
+ "node_id":"en-us_topic_0000001933318558.xml",
"product_code":"css",
- "code":"191",
- "des":"Log in to the CSS management console.On the Clusters page, click Access Kibana in the Operation column of a cluster.Log in to Kibana and choose Dev Tools.On the Console p",
+ "code":"216",
+ "des":"Log in to Kibana and go to the command execution page. Elasticsearch clusters support multiple access methods. This topic uses Kibana as an example to describe the operat",
"doc_type":"usermanual",
- "kw":"How Do I Check the Number of Shards and Replicas in a CSS Cluster?,Using CSS Cluster Search Engines,",
+ "kw":"How Do I Check the Number of Index Shards and Replicas in a CSS Elasticsearch Cluster?,Using CSS Clu",
"search_title":"",
"metedata":[
{
@@ -4000,14 +4520,14 @@
"IsBot":"Yes;yes"
}
],
- "title":"How Do I Check the Number of Shards and Replicas in a CSS Cluster?",
+ "title":"How Do I Check the Number of Index Shards and Replicas in a CSS Elasticsearch Cluster?",
"githuburl":""
},
{
"uri":"css_02_0127.html",
- "node_id":"css_02_0127.xml",
+ "node_id":"en-us_topic_0000001960397629.xml",
"product_code":"css",
- "code":"192",
+ "code":"217",
"des":"If the value of node.roles of a client node is i, then is this client node an ingest node?Are there coordinating only nodes in clusters? Are the client requests distribut",
"doc_type":"usermanual",
"kw":"What Does the Value i for node.roles Mean for Nodes in an Elasticsearch Cluster of CSS?,Using CSS Cl",
@@ -4026,12 +4546,12 @@
},
{
"uri":"css_02_0125.html",
- "node_id":"css_02_0125.xml",
+ "node_id":"en-us_topic_0000001960517793.xml",
"product_code":"css",
- "code":"193",
- "des":"Method 1Open Kibana and run the following commands on the DevTools page:PUT _all/_settings?preserve_existing=true\n{\n\"index.max_result_window\" : \"10000000\"\n}Open Kibana an",
+ "code":"218",
+ "des":"Method 1Open Kibana and run the following commands on the Dev Tools page:PUT _all/_settings?preserve_existing=true\n{\n\"index.max_result_window\" : \"10000000\"\n}Open Kibana a",
"doc_type":"usermanual",
- "kw":"How Do I Change the Maximum Number of Results Returned for Searches to an Index in an Elasticsearch ",
+ "kw":"How Do I Change the Maximum Number of Results Returned in Response to a Single Search Request to a S",
"search_title":"",
"metedata":[
{
@@ -4042,14 +4562,14 @@
"IsBot":"Yes;yes"
}
],
- "title":"How Do I Change the Maximum Number of Results Returned for Searches to an Index in an Elasticsearch Cluster of CSS?",
+ "title":"How Do I Change the Maximum Number of Results Returned in Response to a Single Search Request to a Specific Index in a CSS Elasticsearch Cluster?",
"githuburl":""
},
{
"uri":"css_02_0119.html",
- "node_id":"css_02_0119.xml",
+ "node_id":"en-us_topic_0000001933159118.xml",
"product_code":"css",
- "code":"194",
+ "code":"219",
"des":"The lifecycle of Elasticsearch clusters is implemented using the Index State Management (ISM) of Open Distro. For details about how to configure policies related to the I",
"doc_type":"usermanual",
"kw":"How Do I Update Index Lifecycle Policies for an Elasticsearch Cluster of CSS?,Using CSS Cluster Sear",
@@ -4066,35 +4586,14 @@
"title":"How Do I Update Index Lifecycle Policies for an Elasticsearch Cluster of CSS?",
"githuburl":""
},
- {
- "uri":"css_02_0096.html",
- "node_id":"css_02_0096.xml",
- "product_code":"css",
- "code":"195",
- "des":"The slow query log settings of CSS are the same as those of Elasticsearch. You can configure slow query logs via the _settings API. For example, you can run the following",
- "doc_type":"usermanual",
- "kw":"How Do I Set Slow Query Log Thresholds for an Elasticsearch Cluster of CSS?,Using CSS Cluster Search",
- "search_title":"",
- "metedata":[
- {
- "prodname":"css",
- "opensource":"false;true",
- "documenttype":"usermanual",
- "IsMulti":"No",
- "IsBot":"Yes;yes"
- }
- ],
- "title":"How Do I Set Slow Query Log Thresholds for an Elasticsearch Cluster of CSS?",
- "githuburl":""
- },
{
"uri":"css_02_0067.html",
- "node_id":"css_02_0067.xml",
+ "node_id":"en-us_topic_0000001960397653.xml",
"product_code":"css",
- "code":"196",
+ "code":"220",
"des":"Before deleting index data, carefully evaluate any potential impact on services.Have indexes automatically cleared on a regular basis.You can create a scheduled task to e",
"doc_type":"usermanual",
- "kw":"How Do I Clear Elasticsearch Indexes in CSS?,Using CSS Cluster Search Engines,User Guide",
+ "kw":"How Do I Clear Elasticsearch Indexes in CSS?,Using CSS Cluster Search Engines,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4110,12 +4609,12 @@
},
{
"uri":"css_02_0130.html",
- "node_id":"css_02_0130.xml",
+ "node_id":"en-us_topic_0000001933159126.xml",
"product_code":"css",
- "code":"197",
+ "code":"221",
"des":"Clear the fielddataDuring aggregation and sorting, data are converted to the fielddata structure, which occupies a large amount of memory.Run the following command on Kib",
"doc_type":"usermanual",
- "kw":"How Do I Clear Elasticsearch Cache in CSS?,Using CSS Cluster Search Engines,User Guide",
+ "kw":"How Do I Clear Elasticsearch Cache in CSS?,Using CSS Cluster Search Engines,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4131,9 +4630,9 @@
},
{
"uri":"css_02_0126.html",
- "node_id":"css_02_0126.xml",
+ "node_id":"en-us_topic_0000001960397637.xml",
"product_code":"css",
- "code":"198",
+ "code":"222",
"des":"Running the delete_by_query command only add a deletion mark to the target data, instead of really deleting it. When you search for data, all data is searched and the dat",
"doc_type":"usermanual",
"kw":"Why Does the Disk Usage Increase After the delete_by_query Command Was Executed to Delete Data in an",
@@ -4152,12 +4651,12 @@
},
{
"uri":"css_02_0133.html",
- "node_id":"css_02_0133.xml",
+ "node_id":"en-us_topic_0000001933318486.xml",
"product_code":"css",
- "code":"199",
+ "code":"223",
"des":"The Elasticsearch-native vector search function is provided via an X-Pack plugin, which is currently not integrated in CSS. This is why the native script dotProduct canno",
"doc_type":"usermanual",
- "kw":"Do CSS Elasticsearch Clusters Support script dotProduct?,Using CSS Cluster Search Engines,User Guide",
+ "kw":"Do CSS Elasticsearch Clusters Support script dotProduct?,Using CSS Cluster Search Engines,Usage Guid",
"search_title":"",
"metedata":[
{
@@ -4173,9 +4672,9 @@
},
{
"uri":"css_02_0137.html",
- "node_id":"css_02_0137.xml",
+ "node_id":"en-us_topic_0000001933159206.xml",
"product_code":"css",
- "code":"200",
+ "code":"224",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"Managing CSS Clusters",
@@ -4194,12 +4693,12 @@
},
{
"uri":"css_02_0134.html",
- "node_id":"css_02_0134.xml",
+ "node_id":"en-us_topic_0000001933159198.xml",
"product_code":"css",
- "code":"201",
- "des":"You view the AZ where a cluster is located on the Cluster Information page.Log in to the CSS management console.Choose ClustersElasticsearch. The cluster list is displaye",
+ "code":"225",
+ "des":"You can check the AZ or AZs (in the case of a multi-AZ deployment) of a cluster on the cluster information page.Log in to the CSS management console.In the navigation pan",
"doc_type":"usermanual",
- "kw":"How Do I Check the AZ Where a CSS Cluster Is Located?,Managing CSS Clusters,User Guide",
+ "kw":"How Do I Check the AZ or AZs of a CSS Cluster?,Managing CSS Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4210,15 +4709,15 @@
"IsBot":"Yes;yes"
}
],
- "title":"How Do I Check the AZ Where a CSS Cluster Is Located?",
+ "title":"How Do I Check the AZ or AZs of a CSS Cluster?",
"githuburl":""
},
{
"uri":"css_02_0064.html",
- "node_id":"css_02_0064.xml",
+ "node_id":"en-us_topic_0000001933159166.xml",
"product_code":"css",
- "code":"202",
- "des":"Clusters in non-security mode: no restrictions.Clusters in security mode: The Filebeat OSS version must match the cluster version. For details on how to download the File",
+ "code":"226",
+ "des":"Clusters with the security mode disabled: no restrictions.Clusters with the security mode enabled: The Filebeat OSS version must match the cluster version. For the correc",
"doc_type":"usermanual",
"kw":"What Is the Relationship Between the Filebeat Version and Cluster Version in CSS?,Managing CSS Clust",
"search_title":"",
@@ -4236,12 +4735,12 @@
},
{
"uri":"css_02_0106.html",
- "node_id":"css_02_0106.xml",
+ "node_id":"en-us_topic_0000001933318570.xml",
"product_code":"css",
- "code":"203",
- "des":"The security certificate (CloudSearchService.cer) can be downloaded only for security clusters that have enabled HTTPS access. The security certificate cannot be used in ",
+ "code":"227",
+ "des":"The security certificate (CloudSearchService.cer) can be downloaded only for security-mode clusters that have enabled HTTPS access. The security certificate cannot be use",
"doc_type":"usermanual",
- "kw":"How Do I Obtain the Security Certificate of CSS?,Managing CSS Clusters,User Guide",
+ "kw":"How Do I Obtain the Security Certificate of a CSS Security-Mode Cluster?,Managing CSS Clusters,Usage",
"search_title":"",
"metedata":[
{
@@ -4252,17 +4751,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"How Do I Obtain the Security Certificate of CSS?",
+ "title":"How Do I Obtain the Security Certificate of a CSS Security-Mode Cluster?",
"githuburl":""
},
{
"uri":"css_02_0128.html",
- "node_id":"css_02_0128.xml",
+ "node_id":"en-us_topic_0000001933318510.xml",
"product_code":"css",
- "code":"204",
+ "code":"228",
"des":"The security certificate (CloudSearchService.cer) can be downloaded only for security clusters that have enabled HTTPS access. Most software supports certificates in the ",
"doc_type":"usermanual",
- "kw":"How Do I Convert the Format of a CER Security Certificate in CSS?,Managing CSS Clusters,User Guide",
+ "kw":"How Do I Convert the Format of a CER Security Certificate in CSS?,Managing CSS Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4278,12 +4777,12 @@
},
{
"uri":"css_02_0123.html",
- "node_id":"css_02_0123.xml",
+ "node_id":"en-us_topic_0000001933159142.xml",
"product_code":"css",
- "code":"205",
- "des":"After a cluster is created, you can modify its security group.Before changing the security group, ensure that the port 9200 required for service access has been enabled. ",
+ "code":"229",
+ "des":"You can change the security group of an existing CSS cluster.It is advisable to perform this operation during off-peak hours.The security group cannot be changed for clus",
"doc_type":"usermanual",
- "kw":"Can I Modify the Security Group for Elasticsearch and OpenSearch Clusters in CSS?,Managing CSS Clust",
+ "kw":"Can I Change the Security Group of a CSS Cluster?,Managing CSS Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4294,17 +4793,38 @@
"IsBot":"Yes;yes"
}
],
- "title":"Can I Modify the Security Group for Elasticsearch and OpenSearch Clusters in CSS?",
+ "title":"Can I Change the Security Group of a CSS Cluster?",
+ "githuburl":""
+ },
+ {
+ "uri":"css_02_0081.html",
+ "node_id":"en-us_topic_0000002287724465.xml",
+ "product_code":"css",
+ "code":"230",
+ "des":"If the current subnet of an existing Elasticsearch or OpenSearch cluster cannot meet your requirements, you can switch to another subnet.Log in to the CSS management cons",
+ "doc_type":"usermanual",
+ "kw":"Can I Expand the Subnet for an Elasticsearch or OpenSearch Cluster?,Managing CSS Clusters,Usage Guid",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "opensource":"false;true",
+ "documenttype":"usermanual",
+ "IsMulti":"No",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"Can I Expand the Subnet for an Elasticsearch or OpenSearch Cluster?",
"githuburl":""
},
{
"uri":"css_02_0102.html",
- "node_id":"css_02_0102.xml",
+ "node_id":"en-us_topic_0000001933318490.xml",
"product_code":"css",
- "code":"206",
+ "code":"231",
"des":"By default, CSS allows a maximum of 10,000 buckets to be returned during aggregation. If more than 10,000 buckets need to be returned, you can increase the value of searc",
"doc_type":"usermanual",
- "kw":"How Do I Set search.max_buckets for an Elasticsearch Cluster of CSS?,Managing CSS Clusters,User Guid",
+ "kw":"How Do I Set search.max_buckets for an Elasticsearch Cluster of CSS?,Managing CSS Clusters,Usage Gui",
"search_title":"",
"metedata":[
{
@@ -4320,12 +4840,12 @@
},
{
"uri":"css_02_0101.html",
- "node_id":"css_02_0101.xml",
+ "node_id":"en-us_topic_0000001933318574.xml",
"product_code":"css",
- "code":"207",
- "des":"The TLS algorithm can be modified for Elasticsearch 7.6.2 and later as well as OpenSearch clusters.Log in to the CSS management console.In the navigation pane, choose Clu",
+ "code":"232",
+ "des":"The TLS algorithm can be modified for Elasticsearch 7.6.2 and later as well as OpenSearch clusters.Log in to the CSS management console.In the navigation pane on the left",
"doc_type":"usermanual",
- "kw":"Can I Modify the TLS Algorithm of an Elasticsearch or OpenSearch Cluster in CSS?,Managing CSS Cluste",
+ "kw":"How Do I Modify the TLS Algorithm for a CSS Cluster?,Managing CSS Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4336,17 +4856,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"Can I Modify the TLS Algorithm of an Elasticsearch or OpenSearch Cluster in CSS?",
+ "title":"How Do I Modify the TLS Algorithm for a CSS Cluster?",
"githuburl":""
},
{
"uri":"css_02_0150.html",
- "node_id":"css_02_0150.xml",
+ "node_id":"en-us_topic_0000001933159202.xml",
"product_code":"css",
- "code":"208",
- "des":"Audit logs are disabled for Elasticsearch clusters by default.Audit logs can be enabled for security-mode Elasticsearch 7.6.2 clusters as well as security-mode OpenSearch",
+ "code":"233",
+ "des":"Audit logs can be enabled for security-mode Elasticsearch 7.6.2 clusters as well as security-mode OpenSearch clusters.Audit logs are disabled for Elasticsearch clusters b",
"doc_type":"usermanual",
- "kw":"How Do I Enable Audit Logs for an Elasticsearch or OpenSearch Cluster of CSS?,Managing CSS Clusters,",
+ "kw":"How Do I Enable Audit Logs for a CSS Cluster?,Managing CSS Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4357,17 +4877,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"How Do I Enable Audit Logs for an Elasticsearch or OpenSearch Cluster of CSS?",
+ "title":"How Do I Enable Audit Logs for a CSS Cluster?",
"githuburl":""
},
{
"uri":"css_02_0121.html",
- "node_id":"css_02_0121.xml",
+ "node_id":"en-us_topic_0000001933159158.xml",
"product_code":"css",
- "code":"209",
+ "code":"234",
"des":"To stop a CSS cluster, you delete it. If you want to stop a cluster upon completion of a cluster migration, stop all services in the source cluster, and confirm that all ",
"doc_type":"usermanual",
- "kw":"Can I Stop a CSS Cluster?,Managing CSS Clusters,User Guide",
+ "kw":"Can I Stop a CSS Cluster?,Managing CSS Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4382,10 +4902,10 @@
"githuburl":""
},
{
- "uri":"en-us_topic_0000001936831250.html",
+ "uri":"css_02_0151.html",
"node_id":"en-us_topic_0000001936831250.xml",
"product_code":"css",
- "code":"210",
+ "code":"235",
"des":"The size of indexes remains unchanged after freezing. By querying the size of frozen indexes in OBS, you obtain the size of all indexes stored on OBS.Run the following co",
"doc_type":"usermanual",
"kw":"How Do I Query the Index Size on OBS After the Freezing of Indexes for a CSS Cluster?,Managing CSS C",
@@ -4403,13 +4923,13 @@
"githuburl":""
},
{
- "uri":"en-us_topic_0000001978134941.html",
+ "uri":"css_02_0078.html",
"node_id":"en-us_topic_0000001978134941.xml",
"product_code":"css",
- "code":"211",
- "des":"Default plugins are available for the Elasticsearch and OpenSearch clusters in CSS. You can check the default plugins on the CSS web console or on Kibana or OpenSearch Da",
+ "code":"236",
+ "des":"Default plugins are available for the Elasticsearch and OpenSearch clusters in CSS. You can check them on the CSS management console or query them by running commands on ",
"doc_type":"usermanual",
- "kw":"How Do I Check the List of Default Plugins for Elasticsearch and OpenSearch Clusters?,Managing CSS C",
+ "kw":"How Do I Check the List of Default Plugins for a CSS Cluster?,Managing CSS Clusters,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4420,14 +4940,35 @@
"IsBot":"Yes;yes"
}
],
- "title":"How Do I Check the List of Default Plugins for Elasticsearch and OpenSearch Clusters?",
+ "title":"How Do I Check the List of Default Plugins for a CSS Cluster?",
+ "githuburl":""
+ },
+ {
+ "uri":"css_02_0084.html",
+ "node_id":"en-us_topic_0000002388986373.xml",
+ "product_code":"css",
+ "code":"237",
+ "des":"Before importing data to a cluster, carefully consider your service needs and plan the cluster's data structure and distribution in advance. This includes properly design",
+ "doc_type":"usermanual",
+ "kw":"How Do I Plan the Quantity of Index Shards for a Cluster?,Managing CSS Clusters,Usage Guides",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "opensource":"false;true",
+ "documenttype":"usermanual",
+ "IsMulti":"No",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"How Do I Plan the Quantity of Index Shards for a Cluster?",
"githuburl":""
},
{
"uri":"css_02_0147.html",
- "node_id":"css_02_0147.xml",
+ "node_id":"en-us_topic_0000001933159190.xml",
"product_code":"css",
- "code":"212",
+ "code":"238",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"CSS Cluster Backup and Restoration",
@@ -4446,12 +4987,12 @@
},
{
"uri":"css_02_0043.html",
- "node_id":"css_02_0043.xml",
+ "node_id":"en-us_topic_0000001960397669.xml",
"product_code":"css",
- "code":"213",
- "des":"The snapshot function has been enabled for the cluster and snapshot information has been configured.Log in to the CSS management console, and click Clusters in the naviga",
+ "code":"239",
+ "des":"You can query snapshot information only if cluster snapshots are enabled and some snapshots have been created.You can check them on the CSS management console or query th",
"doc_type":"usermanual",
- "kw":"How Do I Query Snapshot Information of a Cluster in CSS?,CSS Cluster Backup and Restoration,User Gui",
+ "kw":"How Do I Query the Snapshot Information of a CSS Cluster?,CSS Cluster Backup and Restoration,Usage G",
"search_title":"",
"metedata":[
{
@@ -4462,17 +5003,17 @@
"IsBot":"Yes;yes"
}
],
- "title":"How Do I Query Snapshot Information of a Cluster in CSS?",
+ "title":"How Do I Query the Snapshot Information of a CSS Cluster?",
"githuburl":""
},
{
"uri":"css_02_0120.html",
- "node_id":"css_02_0120.xml",
+ "node_id":"en-us_topic_0000001960517853.xml",
"product_code":"css",
- "code":"214",
- "des":"Yes. You can use a snapshot stored in OBS to restore a cluster. A deleted cluster that has no snapshots in OBS cannot be restored. Exercise caution when deleting a cluste",
+ "code":"240",
+ "des":"For a deleted Elasticsearch or OpenSearch, if it still has snapshots stored in OBS, it can be restored using these snapshots. Otherwise, it cannot be restored. Therefore,",
"doc_type":"usermanual",
- "kw":"Can a Deleted CSS Cluster Be Restored?,CSS Cluster Backup and Restoration,User Guide",
+ "kw":"Can a Deleted CSS Cluster Be Restored?,CSS Cluster Backup and Restoration,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4488,9 +5029,9 @@
},
{
"uri":"css_02_0148.html",
- "node_id":"css_02_0148.xml",
+ "node_id":"en-us_topic_0000001933318498.xml",
"product_code":"css",
- "code":"215",
+ "code":"241",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
"kw":"CSS Cluster Monitoring and O&M",
@@ -4508,10 +5049,31 @@
"githuburl":""
},
{
- "uri":"css_02_0131.html",
- "node_id":"css_02_0131.xml",
+ "uri":"css_02_0096.html",
+ "node_id":"en-us_topic_0000001933159178.xml",
"product_code":"css",
- "code":"216",
+ "code":"242",
+ "des":"The slow query log settings of CSS are the same as those of Elasticsearch. You can configure slow query logs via the _settings API. For example, you can run the following",
+ "doc_type":"usermanual",
+ "kw":"How Do I Set Slow Query Log Thresholds for an Elasticsearch Cluster of CSS?,CSS Cluster Monitoring a",
+ "search_title":"",
+ "metedata":[
+ {
+ "prodname":"css",
+ "opensource":"false;true",
+ "documenttype":"usermanual",
+ "IsMulti":"No",
+ "IsBot":"Yes;yes"
+ }
+ ],
+ "title":"How Do I Set Slow Query Log Thresholds for an Elasticsearch Cluster of CSS?",
+ "githuburl":""
+ },
+ {
+ "uri":"css_02_0131.html",
+ "node_id":"en-us_topic_0000001933318526.xml",
+ "product_code":"css",
+ "code":"243",
"des":"The cluster monitoring result shows that the average memory usage of a cluster is 98%. Does it affect cluster performance?In an Elasticsearch cluster, 50% of the memory i",
"doc_type":"usermanual",
"kw":"What Do I Do If the Average Memory Usage of a CSS Cluster Reaches 98%?,CSS Cluster Monitoring and O&",
@@ -4530,12 +5092,12 @@
},
{
"uri":"css_02_0136.html",
- "node_id":"css_02_0136.xml",
+ "node_id":"en-us_topic_0000001960517797.xml",
"product_code":"css",
- "code":"217",
- "des":"You can view the disk usage of a cluster on the Cluster Information page.Log in to the CSS management console.Choose ClustersElasticsearch. The cluster list is displayed.",
+ "code":"244",
+ "des":"Log in to the CSS management console.In the navigation pane on the left, expand Clusters. Select a cluster type based on the target cluster. The cluster list is displayed",
"doc_type":"usermanual",
- "kw":"How Do I Check the Total Disk Usage of a CSS Cluster?,CSS Cluster Monitoring and O&M,User Guide",
+ "kw":"How Do I Check the Total Disk Usage of a CSS Cluster?,CSS Cluster Monitoring and O&M,Usage Guides",
"search_title":"",
"metedata":[
{
@@ -4551,10 +5113,10 @@
},
{
"uri":"css_02_0135.html",
- "node_id":"css_02_0135.xml",
+ "node_id":"en-us_topic_0000001933159150.xml",
"product_code":"css",
- "code":"218",
- "des":"According to the cluster monitoring information, the disk usage of an Elasticsearch cluster exceeds 80%. Does it affect cluster performance?When the disk usage of a node ",
+ "code":"245",
+ "des":"According to the cluster monitoring information, the disk usage of some individual nodes of an Elasticsearch cluster exceeds 80%. Does it impact cluster performance?When ",
"doc_type":"usermanual",
"kw":"Will CSS Cluster Services Be Affected If the Disk Usage of a Single Node Gets Too High?,CSS Cluster ",
"search_title":"",
@@ -4571,20 +5133,20 @@
"githuburl":""
},
{
- "uri":"en-us_topic_0000001972160305.html",
+ "uri":"css_01_0055.html",
"node_id":"en-us_topic_0000001972160305.xml",
"product_code":"css",
- "code":"219",
+ "code":"246",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"usermanual",
- "kw":"Change History,User Guide",
+ "kw":"Change History,Usage Guides",
"search_title":"",
"metedata":[
{
"prodname":"css",
+ "IsMulti":"No;yes",
"opensource":"true",
"documenttype":"usermanual",
- "IsMulti":"No;yes",
"IsBot":"Yes;yes"
}
],
diff --git a/docs/css/umn/CLASS.TXT.json b/docs/css/umn/CLASS.TXT.json
index 8a0b05a63..25f7ea8ed 100644
--- a/docs/css/umn/CLASS.TXT.json
+++ b/docs/css/umn/CLASS.TXT.json
@@ -3,7 +3,7 @@
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Product Overview",
- "uri":"en-us_topic_0000001944960892.html",
+ "uri":"css_00_0001.html",
"doc_type":"usermanual",
"p_code":"",
"code":"1"
@@ -53,6 +53,15 @@
"p_code":"1",
"code":"6"
},
+ {
+ "desc":"CSS provides a fully managed cloud search service based on open-source engines. CSS Elasticsearch and OpenSearch both have the following core capabilities:Unified archite",
+ "product_code":"css",
+ "title":"Differences Between Elasticsearch and OpenSearch",
+ "uri":"css_04_0042.html",
+ "doc_type":"usermanual",
+ "p_code":"1",
+ "code":"7"
+ },
{
"desc":"If you need to assign different permissions to employees in your organization to access your CSS resources, IAM is a good choice for fine-grained permissions management. ",
"product_code":"css",
@@ -60,7 +69,7 @@
"uri":"css_04_0014.html",
"doc_type":"usermanual",
"p_code":"1",
- "code":"7"
+ "code":"8"
},
{
"desc":"This topic describes limits on the node quantity and resource quotas of a CSS cluster. For details about the limits and limitations of different features provided by CSS,",
@@ -69,16 +78,16 @@
"uri":"css_04_0005.html",
"doc_type":"usermanual",
"p_code":"1",
- "code":"8"
+ "code":"9"
},
{
"desc":"This section describes the result of testing performance of CSS clusters in version 7.6.2 by using Rally 1.0.0 provided by Elasticsearch.In this test, the official geonam",
"product_code":"css",
"title":"Performance Metrics",
- "uri":"en-us_topic_0000001950350846.html",
+ "uri":"css_04_0008.html",
"doc_type":"usermanual",
"p_code":"1",
- "code":"9"
+ "code":"10"
},
{
"desc":"Figure 1 shows the relationships between CSS and other services.",
@@ -87,7 +96,7 @@
"uri":"css_04_0004.html",
"doc_type":"usermanual",
"p_code":"1",
- "code":"10"
+ "code":"11"
},
{
"desc":"CSS provides functions on a per cluster basis. A cluster represents an independent search service that consists of multiple nodes.An index stores Elasticsearch data. It i",
@@ -96,52 +105,52 @@
"uri":"css_04_0012.html",
"doc_type":"usermanual",
"p_code":"1",
- "code":"11"
+ "code":"12"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Getting Started",
- "uri":"en-us_topic_0000001945121184.html",
+ "uri":"css_00_0002.html",
"doc_type":"usermanual",
"p_code":"",
- "code":"12"
+ "code":"13"
},
{
"desc":"This section provides an example of how an e-commerce website uses a CSS Elasticsearch cluster to implement a product search function, including creating indexes, importi",
"product_code":"css",
"title":"Using Elasticsearch for Data Search",
- "uri":"en-us_topic_0000002098813645.html",
+ "uri":"index.html",
"doc_type":"usermanual",
- "p_code":"12",
- "code":"13"
+ "p_code":"13",
+ "code":"14"
},
{
"desc":"This section provides an example of how an e-commerce website uses a CSS OpenSearch cluster to implement a product search function, including creating indexes, importing ",
"product_code":"css",
"title":"Using OpenSearch for Data Search",
- "uri":"en-us_topic_0000002098695185.html",
+ "uri":"css_08_0003.html",
"doc_type":"usermanual",
- "p_code":"12",
- "code":"14"
+ "p_code":"13",
+ "code":"15"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
- "title":"CSS Service Permission Management",
- "uri":"css_01_0070.html",
+ "title":"CSS Permissions Management",
+ "uri":"css_01_0072.html",
"doc_type":"usermanual",
"p_code":"",
- "code":"15"
+ "code":"16"
},
{
"desc":"You can use Identity and Access Management (IAM) for fine-grained permissions control for CSS. With IAM, you can:Create IAM users for employees based on your enterprise's",
"product_code":"css",
"title":"Creating IAM Users and Granting Them Permissions to Use CSS",
- "uri":"css_01_0072.html",
+ "uri":"css_01_0070.html",
"doc_type":"usermanual",
- "p_code":"15",
- "code":"16"
+ "p_code":"16",
+ "code":"17"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -150,34 +159,61 @@
"uri":"css_01_0207.html",
"doc_type":"usermanual",
"p_code":"",
- "code":"17"
+ "code":"18"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Procedure for Using Elasticsearch",
- "uri":"css_01_0378.html",
+ "uri":"css_01_0002.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"18"
- },
- {
- "desc":"Before creating an Elasticsearch cluster, develop a plan for it, such as whether to deploy the cluster across multiple AZs to improve availability; the node quantity and ",
- "product_code":"css",
- "title":"Elasticsearch Cluster Planning Suggestions",
- "uri":"css_01_0379.html",
- "doc_type":"usermanual",
- "p_code":"17",
+ "p_code":"18",
"code":"19"
},
{
- "desc":"This topic describes how to create an Elasticsearch cluster.Table 1 lists key parameters that differentiate between different types of clusters.You have planned the Elast",
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "product_code":"css",
+ "title":"Elasticsearch Cluster Planning Suggestions",
+ "uri":"css_01_0188.html",
+ "doc_type":"usermanual",
+ "p_code":"18",
+ "code":"20"
+ },
+ {
+ "desc":"This topic describes how to improve cluster availability by deploying a cluster across multiple AZs, including the rules for distributing cluster nodes among AZs, the rec",
+ "product_code":"css",
+ "title":"Planning Cluster AZs and HA",
+ "uri":"css_01_0001.html",
+ "doc_type":"usermanual",
+ "p_code":"20",
+ "code":"21"
+ },
+ {
+ "desc":"This topic introduces different Elasticsearch cluster versions, including features supported by each version and its application scenarios. It also describes the characte",
+ "product_code":"css",
+ "title":"Planning the Cluster Version and Security Mode",
+ "uri":"css_01_0008.html",
+ "doc_type":"usermanual",
+ "p_code":"20",
+ "code":"22"
+ },
+ {
+ "desc":"This topic describes the application scenarios and configuration suggestions for each type of cluster nodes, including data nodes, master nodes, client nodes, and cold da",
+ "product_code":"css",
+ "title":"Planning Node Types and Specifications",
+ "uri":"css_01_0086.html",
+ "doc_type":"usermanual",
+ "p_code":"20",
+ "code":"23"
+ },
+ {
+ "desc":"This topic describes how to create an Elasticsearch cluster. You can create an Elasticsearch cluster in either of the following ways:Method 1: Create an Elasticsearch clu",
"product_code":"css",
"title":"Creating an Elasticsearch Cluster",
- "uri":"css_01_0380.html",
+ "uri":"css_01_0270.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"20"
+ "p_code":"18",
+ "code":"24"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -185,152 +221,152 @@
"title":"Accessing Elasticsearch Clusters",
"uri":"css_01_0210.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"21"
+ "p_code":"18",
+ "code":"25"
},
{
"desc":"There are many ways to connect to an Elasticsearch cluster. Select the most appropriate access method based on the programming language you prefer. The various access met",
"product_code":"css",
"title":"Elasticsearch Cluster Access Methods",
- "uri":"css_01_0381.html",
+ "uri":"css_01_0190.html",
"doc_type":"usermanual",
- "p_code":"21",
- "code":"22"
+ "p_code":"25",
+ "code":"26"
},
{
"desc":"Kibana is the official data visualization and exploration platform for Elasticsearch. It enables in-depth data analysis and interactive visualization. In CSS, Kibana is p",
"product_code":"css",
"title":"Logging In to an Elasticsearch Cluster Using Kibana",
- "uri":"css_01_0382.html",
+ "uri":"css_01_0108.html",
"doc_type":"usermanual",
- "p_code":"21",
- "code":"23"
+ "p_code":"25",
+ "code":"27"
},
{
"desc":"Cerebro is an open-source Elasticsearch web admin tool, designed for real-time monitoring and efficient cluster operations. In CSS, Cerebro is pre-built for each Elastics",
"product_code":"css",
"title":"Logging In to an Elasticsearch Cluster Through Cerebro",
- "uri":"css_01_0383.html",
+ "uri":"css_01_0062.html",
"doc_type":"usermanual",
- "p_code":"21",
- "code":"24"
+ "p_code":"25",
+ "code":"28"
},
{
"desc":"Open-source Elasticsearch provides a series of RESTful APIs. You can run cURL commands to access these APIs using tools such as Kibana and Postman. This topic describes h",
"product_code":"css",
"title":"Accessing an Elasticsearch Cluster Using cURL Commands",
- "uri":"css_01_0384.html",
+ "uri":"css_01_0063.html",
"doc_type":"usermanual",
- "p_code":"21",
- "code":"25"
+ "p_code":"25",
+ "code":"29"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Accessing an Elasticsearch Cluster Using Java",
- "uri":"css_01_0385.html",
+ "uri":"css_01_0064.html",
"doc_type":"usermanual",
- "p_code":"21",
- "code":"26"
+ "p_code":"25",
+ "code":"30"
},
{
- "desc":"Elasticsearch provides SDK (Rest High Level Client) for connecting to a cluster. This client encapsulates Elasticsearch APIs. You only need to construct required structur",
+ "desc":"Elasticsearch provides SDK (High Level REST Client) for connecting to a cluster. This client encapsulates Elasticsearch APIs. You only need to construct required structur",
"product_code":"css",
- "title":"Accessing an Elasticsearch Cluster Through the Rest High Level Client",
- "uri":"css_01_0386.html",
+ "title":"Accessing an Elasticsearch Cluster Through the High Level REST Client",
+ "uri":"css_01_0065.html",
"doc_type":"usermanual",
- "p_code":"26",
- "code":"27"
+ "p_code":"30",
+ "code":"31"
},
{
"desc":"The high-level client is encapsulated based on the low-level client. If the method calls (such as .search and .bulk) in the high-level client cannot meet the requirements",
"product_code":"css",
- "title":"Accessing an Elasticsearch Cluster Through the Rest Low Level Client",
- "uri":"css_01_0387.html",
+ "title":"Accessing an Elasticsearch Cluster Through the Low Level REST Client",
+ "uri":"css_01_0066.html",
"doc_type":"usermanual",
- "p_code":"26",
- "code":"28"
+ "p_code":"30",
+ "code":"32"
},
{
- "desc":"You can use Transport Client to access a CSS cluster in non-security mode. For a cluster in security mode, you are advised to use Accessing an Elasticsearch Cluster Throu",
+ "desc":"You can use Transport Client to access a CSS cluster with the security mode disabled. For a cluster in security mode, you are advised to use Accessing an Elasticsearch Cl",
"product_code":"css",
"title":"Accessing an Elasticsearch Cluster Through the Transport Client",
- "uri":"css_01_0388.html",
+ "uri":"css_01_0067.html",
"doc_type":"usermanual",
- "p_code":"26",
- "code":"29"
+ "p_code":"30",
+ "code":"33"
},
{
"desc":"You can access a CSS cluster using Spring Boot. Spring Boot can connect to a cluster in any of the following ways:Accessing an HTTP Cluster Through Spring Boot: applicabl",
"product_code":"css",
"title":"Accessing an Elasticsearch Cluster Using Spring Boot",
- "uri":"css_01_0389.html",
+ "uri":"css_01_0068.html",
"doc_type":"usermanual",
- "p_code":"26",
- "code":"30"
+ "p_code":"30",
+ "code":"34"
},
{
"desc":"You can access an Elasticsearch cluster created in CSS using Python.The CSS cluster is available.Ensure that the server running Python can communicate with the CSS cluste",
"product_code":"css",
"title":"Accessing an Elasticsearch Cluster Using Python",
- "uri":"css_01_0390.html",
+ "uri":"css_01_0069.html",
"doc_type":"usermanual",
- "p_code":"21",
- "code":"31"
+ "p_code":"25",
+ "code":"35"
},
{
"desc":"The Elasticsearch-Hadoop (ES-Hadoop) connector combines the massive data storage and in-depth processing capabilities of Hadoop with the real-time search and analysis cap",
"product_code":"css",
"title":"Accessing an Elasticsearch Cluster Through the MRS Hive Client",
- "uri":"css_01_0391.html",
+ "uri":"css_01_0071.html",
"doc_type":"usermanual",
- "p_code":"21",
- "code":"32"
+ "p_code":"25",
+ "code":"36"
},
{
"desc":"This section describes how to access a CSS cluster using Go.The CSS cluster is available.Ensure that the server running Go can communicate with the CSS cluster.Ensure tha",
"product_code":"css",
"title":"Accessing an Elasticsearch Cluster Using Go",
- "uri":"css_01_0392.html",
+ "uri":"css_01_0073.html",
"doc_type":"usermanual",
- "p_code":"21",
- "code":"33"
+ "p_code":"25",
+ "code":"37"
},
{
"desc":"The Light Directory Access Protocol (LDAP) is a lightweight version of the directory access protocol based on the X.500 standard. An LDAP service provides user authentica",
"product_code":"css",
"title":"Accessing an Elasticsearch Cluster Using LDAP",
- "uri":"css_01_0393.html",
+ "uri":"css_01_0017.html",
"doc_type":"usermanual",
- "p_code":"21",
- "code":"34"
+ "p_code":"25",
+ "code":"38"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Importing Data to an Elasticsearch Cluster",
- "uri":"css_01_0045.html",
+ "uri":"css_01_0004.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"35"
+ "p_code":"18",
+ "code":"39"
},
{
- "desc":"Elasticsearch clusters support multiple data ingestion methods, as listed in Table 1. Select one that fits your needs the best. Before starting to import data, determine ",
+ "desc":"Elasticsearch clusters support multiple data ingestion methods, as listed in Table 1. Select one that fits your needs the best. Before starting to ingest data, determine ",
"product_code":"css",
- "title":"Different Ways to Import Data to an Elasticsearch Cluster",
- "uri":"css_01_0394.html",
+ "title":"Different Ways to Ingest Data into an Elasticsearch Cluster",
+ "uri":"css_01_0005.html",
"doc_type":"usermanual",
- "p_code":"35",
- "code":"36"
+ "p_code":"39",
+ "code":"40"
},
{
- "desc":"You can use in-house built Logstash to migrate data to Elasticsearch or OpenSearch in CSS. This helps you effectively ingest and manage data through CSS. Data files can b",
+ "desc":"With CSS, you can use in-house developed Logstash to ingest data into Elasticsearch for efficient search and exploration. Data files can be in the JSON or CSV format.Logs",
"product_code":"css",
"title":"Using In-house Built Logstash to Import Data to Elasticsearch",
"uri":"css_01_0048.html",
"doc_type":"usermanual",
- "p_code":"35",
- "code":"37"
+ "p_code":"39",
+ "code":"41"
},
{
"desc":"With CSS, you can use open-source Elasticsearch APIs on Kibana or an ECS server to import data to an Elasticsearch cluster. JSON files are supported.Using an Open-Source ",
@@ -338,44 +374,44 @@
"title":"Using Open Source Elasticsearch APIs to Import Data to Elasticsearch",
"uri":"css_01_0024.html",
"doc_type":"usermanual",
- "p_code":"35",
- "code":"38"
+ "p_code":"39",
+ "code":"42"
},
{
- "desc":"With CSS, you can use the web user interface of the Cloud Data Migration (CDM) service to import data from an Oracle database or OBS to an Elasticsearch or OpenSearch clu",
+ "desc":"With CSS, you can use the web user interface of the Cloud Data Migration (CDM) service to import data from an Oracle database or OBS to an Elasticsearch cluster. Only JSO",
"product_code":"css",
"title":"Using CDM to Import Data to Elasticsearch",
- "uri":"css_01_0396.html",
+ "uri":"css_01_0046.html",
"doc_type":"usermanual",
- "p_code":"35",
- "code":"39"
+ "p_code":"39",
+ "code":"43"
},
{
- "desc":"This unique CSS feature significantly improves data import performance and reduces write rejections through bulk route optimization, text index acceleration, and word seg",
+ "desc":"This unique CSS feature significantly enhances data ingestion performance and reduces write rejections through bulk route optimization, text index acceleration, and word ",
"product_code":"css",
- "title":"Enhancing the Data Import Performance of Elasticsearch Clusters",
- "uri":"css_01_0397.html",
+ "title":"Enhancing the Data Ingestion Performance of Elasticsearch Clusters",
+ "uri":"css_01_0228.html",
"doc_type":"usermanual",
- "p_code":"35",
- "code":"40"
+ "p_code":"39",
+ "code":"44"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Searching Data in an Elasticsearch Cluster",
- "uri":"css_01_0398.html",
+ "uri":"css_01_0006.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"41"
+ "p_code":"18",
+ "code":"45"
},
{
"desc":"DSL is the specified query language for Elasticsearch. It is the best language for interaction between Elasticsearch clusters and clients. Elasticsearch DSL is a JSON-bas",
"product_code":"css",
"title":"Using DSL to Search for Data in Elasticsearch",
- "uri":"css_01_0399.html",
+ "uri":"css_01_0007.html",
"doc_type":"usermanual",
- "p_code":"41",
- "code":"42"
+ "p_code":"45",
+ "code":"46"
},
{
"desc":"For Elasticsearch 6.5.4 and later versions, Open Distro for Elasticsearch SQL lets you write queries in SQL rather than in the Elasticsearch query domain-specific languag",
@@ -383,8 +419,8 @@
"title":"Using SQL to Search for Data in Elasticsearch",
"uri":"css_01_0061.html",
"doc_type":"usermanual",
- "p_code":"41",
- "code":"43"
+ "p_code":"45",
+ "code":"47"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -392,17 +428,17 @@
"title":"Enhancing Search Capabilities for Elasticsearch Clusters",
"uri":"css_01_0111.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"44"
+ "p_code":"18",
+ "code":"48"
},
{
"desc":"Compared with open-source Elasticsearch, Elasticsearch clusters in CSS have many enhanced features. Table 1 lists these enhanced features and the corresponding cluster ve",
"product_code":"css",
"title":"Search Enhancement Features for Elasticsearch Clusters",
- "uri":"css_01_0400.html",
+ "uri":"css_01_0013.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"45"
+ "p_code":"48",
+ "code":"49"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -410,143 +446,161 @@
"title":"Configuring Vector Search for Elasticsearch Clusters",
"uri":"css_01_0117.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"46"
- },
- {
- "desc":"Unstructured data, such as images, videos, and language corpora, is converted into vectors, which are searched based on similarity using either an exact or approximate ne",
- "product_code":"css",
- "title":"About Vector Search",
- "uri":"css_01_0118.html",
- "doc_type":"usermanual",
- "p_code":"46",
- "code":"47"
- },
- {
- "desc":"To create a vector index, perform the following steps:(Optional) Preparations: Configure advanced cluster settings based on service needs.(Optional) Pre-Building and Regi",
- "product_code":"css",
- "title":"Creating Vector Indexes in an Elasticsearch Cluster",
- "uri":"css_01_0121.html",
- "doc_type":"usermanual",
- "p_code":"46",
- "code":"48"
- },
- {
- "desc":"Vector indexes support data searches in different ways.Standard QueryComposite QueryScriptScore QueryRe-Score QueryPainless Syntax ExtensionStandard QueryComposite QueryS",
- "product_code":"css",
- "title":"Using Vector Indexes for Data Search in an Elasticsearch Cluster",
- "uri":"css_01_0123.html",
- "doc_type":"usermanual",
- "p_code":"46",
- "code":"49"
- },
- {
- "desc":"Nested fields allow multiple vectorized records to be stored in a single document. For example, in an RAG scenario, documents usually need to be segmented by paragraph or",
- "product_code":"css",
- "title":"Using a Vector Index with Nested Fields",
- "uri":"css_01_0401.html",
- "doc_type":"usermanual",
- "p_code":"46",
+ "p_code":"48",
"code":"50"
},
{
- "desc":"To reduce the cost of backup, disable the backup function before data import and enable it afterwards.Set refresh_interval to 120s or a larger value. Larger segments can ",
+ "desc":"In the age of AI, unstructured data—such as images, videos, audios, and text—is growing rapidly. Traditional keyword-based search cannot effectively handle unstructured d",
"product_code":"css",
- "title":"Optimizing the Write and Query Performance of Vector Search",
- "uri":"css_01_0126.html",
+ "title":"About CSS Vector Search",
+ "uri":"css_01_0118.html",
"doc_type":"usermanual",
- "p_code":"46",
+ "p_code":"50",
"code":"51"
},
{
- "desc":"The vector search engine is developed in C++ and uses off-heap memory. You can use the following APIs to manage the index cache.View cache statistics.GET /_vector/statsIn",
+ "desc":"Integrating efficient indexing techniques, the CSS vector database delivers a high-performance, low-cost, scalable solution for high-dimensional vector search. An Elastic",
+ "product_code":"css",
+ "title":"Creating an Elasticsearch Vector Cluster",
+ "uri":"css_01_0195.html",
+ "doc_type":"usermanual",
+ "p_code":"50",
+ "code":"52"
+ },
+ {
+ "desc":"Create a vector index in your Elasticsearch cluster and define a mapping that contains vector fields, including vector dimensions, indexing algorithm, and similarity meas",
+ "product_code":"css",
+ "title":"Creating a Vector Index",
+ "uri":"css_01_0121.html",
+ "doc_type":"usermanual",
+ "p_code":"50",
+ "code":"53"
+ },
+ {
+ "desc":"Importing vector data is the process of ingesting data to the CSS vector database. When writing vector data to a vector index, you need to specify the vector field (for e",
+ "product_code":"css",
+ "title":"Importing Vector Data",
+ "uri":"css_01_0296.html",
+ "doc_type":"usermanual",
+ "p_code":"50",
+ "code":"54"
+ },
+ {
+ "desc":"The CSS vector database supports a variety of query methods, including standard query, hybrid query, script_score query, rescore query, and painless syntax extension. The",
+ "product_code":"css",
+ "title":"Performing Vector Search",
+ "uri":"css_01_0123.html",
+ "doc_type":"usermanual",
+ "p_code":"50",
+ "code":"55"
+ },
+ {
+ "desc":"This topic explains how to optimize the performance of a CSS vector database from two aspects—write and query.Writing vector data incurs three major overheads: replica sy",
+ "product_code":"css",
+ "title":"Optimizing Vector Cluster Performance",
+ "uri":"css_01_0126.html",
+ "doc_type":"usermanual",
+ "p_code":"50",
+ "code":"56"
+ },
+ {
+ "desc":"The CSS vector search engine is built on C++. It uses off-heap memory to enhance performance and efficiency. To better manage and optimize the vector index cache, the CSS",
"product_code":"css",
"title":"Managing the Vector Index Cache",
"uri":"css_01_0130.html",
"doc_type":"usermanual",
- "p_code":"46",
- "code":"52"
+ "p_code":"50",
+ "code":"57"
+ },
+ {
+ "desc":"Nested fields allow multiple vectorized records to be stored in a single document. For example, in an RAG scenario, documents usually need to be segmented by paragraph or",
+ "product_code":"css",
+ "title":"Using Nested Fields for Vector Search",
+ "uri":"css_01_0264.html",
+ "doc_type":"usermanual",
+ "p_code":"50",
+ "code":"58"
},
{
"desc":"Elasticsearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Python code for creating vector indexes, and impor",
"product_code":"css",
- "title":"Client Code Sample for Vector Search (Python)",
+ "title":"Sample Python Code for Vector Search",
"uri":"css_01_0129.html",
"doc_type":"usermanual",
- "p_code":"46",
- "code":"53"
+ "p_code":"50",
+ "code":"59"
},
{
"desc":"Elasticsearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Java code for creating vector indexes, and importi",
"product_code":"css",
- "title":"Client Code Sample for Vector Search (Java)",
- "uri":"css_01_0402.html",
+ "title":"Sample Java Code for Vector Search",
+ "uri":"css_01_0128.html",
"doc_type":"usermanual",
- "p_code":"46",
- "code":"54"
+ "p_code":"50",
+ "code":"60"
},
{
- "desc":"CSS stores new data as hot data on SSDs to ensure optimal query performance, and historical data as cold data in OBS to cut storage costs.With storage-compute decoupling,",
+ "desc":"As data grows exponentially, traditional monolithic storage architectures struggle to balance performance and cost efficiency. To support high-speed real-time queries whi",
"product_code":"css",
- "title":"Configuring Storage-Compute Decoupling for an Elasticsearch Cluster",
- "uri":"css_01_0405.html",
+ "title":"Configuring Decoupled Storage and Compute for an Elasticsearch Cluster",
+ "uri":"css_01_0113.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"55"
+ "p_code":"48",
+ "code":"61"
},
{
- "desc":"Flow Control 2.0 controls traffic at the node level. You can configure blacklists and whitelists per node, the maximum concurrent HTTP connections allowed, and the maximu",
+ "desc":"Configure flow control policies for your Elasticsearch cluster in both the inbound and outbound directions, ensuring cluster stability by safeguarding against abnormal tr",
"product_code":"css",
"title":"Configuring Flow Control 2.0 for an Elasticsearch Cluster",
- "uri":"css_01_0406.html",
+ "uri":"css_01_0192.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"56"
+ "p_code":"48",
+ "code":"62"
},
{
- "desc":"Flow Control 1.0 controls traffic at the node level. You can configure blacklists and whitelists per node, the maximum concurrent HTTP connections allowed, the maximum HT",
+ "desc":"Configure flow control policies for your Elasticsearch cluster in both the inbound and outbound directions, ensuring cluster stability by safeguarding against abnormal tr",
"product_code":"css",
"title":"Configuring Flow Control 1.0 for an Elasticsearch Cluster",
- "uri":"css_01_0407.html",
+ "uri":"css_01_0140.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"57"
+ "p_code":"48",
+ "code":"63"
},
{
"desc":"You can isolate query requests that consume a large amount of memory or take a long period of time. This way, you ensure service availability for other requests. If the h",
"product_code":"css",
"title":"Configuring Large Query Isolation for an Elasticsearch Cluster",
- "uri":"css_01_0408.html",
+ "uri":"css_01_0132.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"58"
+ "p_code":"48",
+ "code":"64"
},
{
- "desc":"In the case of data clustering, enhanced aggregation uses the vectorization technology to process data in batches, improving aggregation performance and facilitating aggr",
+ "desc":"CSS Elasticsearch clusters enhance aggregation performance in the face of large data volumes by leveraging vectorization and optimized clustering, enabling faster analyti",
"product_code":"css",
"title":"Configuring Enhanced Aggregation for an Elasticsearch Cluster",
- "uri":"css_01_0409.html",
+ "uri":"css_01_0173.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"59"
+ "p_code":"48",
+ "code":"65"
},
{
- "desc":"Data written to the primary cluster (Leader) is automatically synchronized to the secondary cluster (Follower). This allows data to be queried from the secondary cluster,",
+ "desc":"As business expands, and data volumes and access requests grow exponentially, a monolithic architecture where a single cluster handles both write and query requests faces",
"product_code":"css",
"title":"Configuring Read/Write Splitting Between Two Elasticsearch Clusters",
- "uri":"css_01_0410.html",
+ "uri":"css_01_0162.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"60"
+ "p_code":"48",
+ "code":"66"
},
{
- "desc":"In an Elasticsearch cluster that has cold data nodes, index data can switch between cold and hot storage. This helps optimize storage costs and improve query performance.",
+ "desc":"In an Elasticsearch cluster, switching between hot and cold data storage means to allocate data to nodes of different performance standards based on data temperature (tha",
"product_code":"css",
"title":"Switching Between Hot and Cold Storage for an Elasticsearch Cluster",
"uri":"css_01_0079.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"61"
+ "p_code":"48",
+ "code":"67"
},
{
"desc":"With Elasticsearch clusters, indexes are deleted without first being put into a recycle bin. To allow users to restore data after misdeletion, CSS provides an index recyc",
@@ -554,116 +608,125 @@
"title":"Configuring an Index Recycle Bin for an Elasticsearch Cluster",
"uri":"css_01_0249.html",
"doc_type":"usermanual",
- "p_code":"44",
- "code":"62"
+ "p_code":"48",
+ "code":"68"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Configuring Networking for an Elasticsearch Cluster",
- "uri":"css_01_0411.html",
+ "uri":"css_01_0010.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"63"
+ "p_code":"18",
+ "code":"69"
},
{
- "desc":"Public network access is supported only when Security Mode and HTTPS Access are enabled for a cluster. When Public IP Address is enabled, a public IP address is automatic",
+ "desc":"By default, a CSS Elasticsearch cluster cannot access a target service—such as a client program or a Lightweight Directory Access Protocol (LDAP) service—that is located ",
+ "product_code":"css",
+ "title":"Configuring Routes for an Elasticsearch Cluster",
+ "uri":"css_01_0279.html",
+ "doc_type":"usermanual",
+ "p_code":"69",
+ "code":"70"
+ },
+ {
+ "desc":"When public network access is enabled for an Elasticsearch cluster, the cluster is automatically assigned a public IP address with dedicated dynamic BGP bandwidth, making",
"product_code":"css",
"title":"Configuring Public Network Access for an Elasticsearch Cluster",
"uri":"css_01_0076.html",
"doc_type":"usermanual",
- "p_code":"63",
- "code":"64"
+ "p_code":"69",
+ "code":"71"
},
{
- "desc":"VPC Endpoint Service enables you to access resources across Virtual Private Clouds (VPCs) using a dedicated gateway, without exposing the network information of servers. ",
+ "desc":"VPC Endpoint enables you to access resources across VPCs using a dedicated gateway, without exposing the network information of servers. A VPC endpoint can be accessed vi",
"product_code":"css",
- "title":"Configuring VPC Endpoint Service for an Elasticsearch Cluster",
- "uri":"css_01_0412.html",
+ "title":"Configuring VPC Endpoints for an Elasticsearch Cluster",
+ "uri":"css_01_0082.html",
"doc_type":"usermanual",
- "p_code":"63",
- "code":"65"
+ "p_code":"69",
+ "code":"72"
},
{
"desc":"CSS integrates shared load balancers, through which you can enable access to a cluster from the public network as well as through the VPC Endpoint service. Dedicated load",
"product_code":"css",
"title":"Configuring a Dedicated Load Balancer for an Elasticsearch Cluster",
- "uri":"css_01_0413.html",
+ "uri":"css_01_0181.html",
"doc_type":"usermanual",
- "p_code":"63",
- "code":"66"
+ "p_code":"69",
+ "code":"73"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Backing up and Restoring the Data of an Elasticsearch Cluster",
- "uri":"css_01_0269.html",
+ "uri":"css_01_0033.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"67"
+ "p_code":"18",
+ "code":"74"
},
{
- "desc":"This topic describes two ways to create a snapshot to back up a CSS cluster: automatic and manual.Cluster snapshots will increase CPU usage and disk I/O. You are advised ",
+ "desc":"CSS allows you to use snapshots to back up and restore Elasticsearch cluster data. By storing a snapshot in an OBS bucket, you save a point-in-time copy of the cluster's ",
"product_code":"css",
- "title":"Creating a Snapshot to Back Up the Data of an Elasticsearch Cluster",
+ "title":"Creating Snapshots to Back Up the Data of an Elasticsearch Cluster",
"uri":"css_01_0267.html",
"doc_type":"usermanual",
- "p_code":"67",
- "code":"68"
+ "p_code":"74",
+ "code":"75"
},
{
- "desc":"Restore the data captured by a cluster snapshot to the current cluster or another eligible cluster.Cluster snapshots will increase CPU usage and disk I/O. You are advised",
+ "desc":"Use a snapshot to restore a point-in-time copy of an Elasticsearch cluster. You can restore it to the original cluster or to another eligible cluster. This process fetche",
"product_code":"css",
"title":"Restoring the Data of an Elasticsearch Cluster Using a Snapshot",
"uri":"css_01_0266.html",
"doc_type":"usermanual",
- "p_code":"67",
- "code":"69"
+ "p_code":"74",
+ "code":"76"
},
{
- "desc":"If you no longer need a snapshot, delete it to reclaim storage space.If automatic snapshot creation is enabled, snapshots that are automatically created cannot be deleted",
+ "desc":"Delete snapshots that are no longer needed to reclaim storage spaces.Deleting a snapshot will permanently delete its data.The deletion of automatically generated snapshot",
"product_code":"css",
"title":"Deleting an Elasticsearch Cluster Snapshot",
"uri":"css_01_0271.html",
"doc_type":"usermanual",
- "p_code":"67",
- "code":"70"
+ "p_code":"74",
+ "code":"77"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Scaling an Elasticsearch Cluster",
- "uri":"css_01_0414.html",
+ "uri":"css_01_0012.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"71"
+ "p_code":"18",
+ "code":"78"
},
{
- "desc":"If the workloads on the data plane of an Elasticsearch cluster increase, you can scale out the cluster by increasing the quantity or capacity of its nodes, including chan",
+ "desc":"If an Elasticsearch cluster struggles to maintain performance in the face of rapid data growth or sustained high memory usage, you may scale it horizontally by adding mor",
"product_code":"css",
- "title":"Scaling Out an Elasticsearch Cluster",
+ "title":"Scaling Out/Up an Elasticsearch Cluster",
"uri":"css_01_0151.html",
"doc_type":"usermanual",
- "p_code":"71",
- "code":"72"
+ "p_code":"78",
+ "code":"79"
},
{
- "desc":"If a cluster can process current traffic without fully utilizing its resources, you can scale in the cluster to cut costs.CSS supports multiple scale-in methods, as descr",
+ "desc":"If an Elasticsearch cluster has excess capacity due to off-peak traffic or reduced data volumes, you can reduce its nodes to optimize costs.For a pay-per-use cluster, you",
"product_code":"css",
- "title":"Scaling In an Elasticsearch Cluster",
+ "title":"Scaling In/Down an Elasticsearch Cluster",
"uri":"css_01_0153.html",
"doc_type":"usermanual",
- "p_code":"71",
- "code":"73"
+ "p_code":"78",
+ "code":"80"
},
{
- "desc":"Elasticsearch clusters support same-version upgrade, cross-version upgrade, and cross-engine upgrade.Same-version upgrade means to upgrade kernel patches to the latest im",
+ "desc":"In CSS, you can upgrade the version of an Elasticsearch cluster to use feature and performance enhancements or fix known issues.The supported target versions vary dependi",
"product_code":"css",
"title":"Upgrading the Version of an Elasticsearch Cluster",
"uri":"css_01_0186.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"74"
+ "p_code":"18",
+ "code":"81"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -671,89 +734,89 @@
"title":"Managing Elasticsearch Clusters",
"uri":"css_01_0009.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"75"
+ "p_code":"18",
+ "code":"82"
},
{
- "desc":"On the Elasticsearch/OpenSearch cluster list and cluster information page, you can check the cluster status, version, and node information.A cluster list displays all clu",
+ "desc":"On the CSS management console, you can check an Elasticsearch cluster's status, version, nodes, configurations and settings, and resource allocation on the cluster list a",
"product_code":"css",
"title":"Viewing Elasticsearch Cluster Information",
- "uri":"css_01_0415.html",
+ "uri":"css_01_0185.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"76"
+ "p_code":"82",
+ "code":"83"
},
{
"desc":"CSS limits access to security-mode clusters to authorized users only. When creating a security-mode cluster, an administrator account must be created. This administrator ",
"product_code":"css",
"title":"Creating Users for an Elasticsearch Cluster and Granting Cluster Access",
- "uri":"css_01_0417.html",
+ "uri":"css_01_0109.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"77"
+ "p_code":"82",
+ "code":"84"
},
{
- "desc":"Tags are cluster identifiers. Adding tags to clusters can help you identify and manage your cluster resources.You can add tags to a cluster when creating the cluster or a",
+ "desc":"Tags are cluster identifiers. Adding tags to clusters helps you identify and manage your cluster resources.Tags can be added during or after cluster creation. If you want",
"product_code":"css",
"title":"Setting Tags for an Elasticsearch Cluster",
"uri":"css_01_0075.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"78"
+ "p_code":"82",
+ "code":"85"
},
{
- "desc":"You can modify an Elasticsearch cluster's configuration file for purposes like accelerating queries, enabling cross-domain access, adjusting the internal cache size, and ",
+ "desc":"You can modify an Elasticsearch cluster's configuration file for purposes like accelerating queries, modifying cross-domain access configuration, adjusting the internal c",
"product_code":"css",
"title":"Configuring Default Parameters in the .yml Configuration File of an Elasticsearch Cluster",
"uri":"css_01_0080.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"79"
+ "p_code":"82",
+ "code":"86"
},
{
- "desc":"You can create enterprise projects based on your organizational structure. Then you can manage resources across different regions by enterprise project, add users and use",
+ "desc":"In CSS, you can associate your Elasticsearch cluster with an enterprise project. You can create enterprise projects based on your organizational structure. Then you can m",
"product_code":"css",
- "title":"Binding an Elasticsearch Cluster to an Enterprise Project",
+ "title":"Associating an Elasticsearch Cluster with an Enterprise Project",
"uri":"css_01_0058.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"80"
+ "p_code":"82",
+ "code":"87"
},
{
- "desc":"If the workloads on the data plane of an Elasticsearch or OpenSearch cluster change, you can scale the cluster by changing its node specifications or disk types.If the da",
+ "desc":"If the workloads on an Elasticsearch cluster's data plane change, you can scale the cluster vertically by changing its node specifications or node storage type.For a pay-",
"product_code":"css",
- "title":"Changing the Node Specifications of an Elasticsearch Cluster",
- "uri":"css_01_0418.html",
+ "title":"Changing the Node Specifications and Storage Type of an Elasticsearch Cluster",
+ "uri":"css_01_0245.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"81"
+ "p_code":"82",
+ "code":"88"
},
{
- "desc":"If a node in a cluster becomes faulty, you can create a new node with the same specifications to replace it. Before the replacement of a specified node, the data of that ",
+ "desc":"If a node in an Elasticsearch cluster is faulty, you can replace it to restore services.The node replacement process is as follows:Migrate data from the node that needs t",
"product_code":"css",
- "title":"Replacing Specified Nodes for an Elasticsearch Cluster",
+ "title":"Replacing a Specified Node for an Elasticsearch Cluster",
"uri":"css_01_0156.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"82"
+ "p_code":"82",
+ "code":"89"
},
{
- "desc":"This topic describes how to change the security mode of an existing cluster.You can create a cluster by choosing its security mode and web protocol (HTTP or HTTPS). For d",
+ "desc":"With CSS, when an Elasticsearch cluster's security needs change, you can change its security mode settings.Configure the security mode based on the security needs of your",
"product_code":"css",
"title":"Changing the Security Mode of an Elasticsearch Cluster",
"uri":"css_01_0158.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"83"
+ "p_code":"82",
+ "code":"90"
},
{
- "desc":"CSS supports cross-AZ deployment. By switching AZs for a cluster, you can obtain more resources for the cluster or improve cluster availability.You can Add AZ or Migrate ",
+ "desc":"CSS supports cross-AZ deployment. By switching AZs for a cluster, you can make more resources available to the cluster or improve the cluster's availability.You can Add A",
"product_code":"css",
"title":"Switching AZs for an Elasticsearch Cluster",
"uri":"css_01_0201.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"84"
+ "p_code":"82",
+ "code":"91"
},
{
"desc":"In the Failed Tasks dialog box, you can view the failed tasks related to a cluster, such as failing to create, restart, scale out, back up, or restore a cluster. In addit",
@@ -761,8 +824,8 @@
"title":"Managing Failed Tasks for Elasticsearch Clusters",
"uri":"css_01_0060.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"85"
+ "p_code":"82",
+ "code":"92"
},
{
"desc":"If an Elasticsearch cluster has stopped working, you can try to recover it by restarting it. Two restart options are available: quick restart and rolling restart. You are",
@@ -770,17 +833,17 @@
"title":"Restarting an Elasticsearch Cluster",
"uri":"css_01_0014.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"86"
+ "p_code":"82",
+ "code":"93"
},
{
- "desc":"You can delete clusters that you no longer need.Deleting a cluster will clear all its data. Exercise caution.A cluster that has no snapshots created for it cannot be rest",
+ "desc":"You can delete clusters that you no longer need.Deleting a cluster will delete all its data. Any data that has not been backed up will be permanently lost. Exercise cauti",
"product_code":"css",
"title":"Deleting an Elasticsearch Cluster",
"uri":"css_01_0015.html",
"doc_type":"usermanual",
- "p_code":"75",
- "code":"87"
+ "p_code":"82",
+ "code":"94"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -788,107 +851,107 @@
"title":"Managing Index Policies for an Elasticsearch Cluster",
"uri":"css_01_0091.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"88"
+ "p_code":"18",
+ "code":"95"
},
{
"desc":"This topic describes how to create and manage index lifecycle policies for Elasticsearch clusters.Index State Management (ISM) of Elasticsearch is a plugin that allows yo",
"product_code":"css",
"title":"Creating and Managing Index Policies for an Elasticsearch Cluster",
- "uri":"css_01_0419.html",
+ "uri":"css_01_0093.html",
"doc_type":"usermanual",
- "p_code":"88",
- "code":"89"
+ "p_code":"95",
+ "code":"96"
},
{
"desc":"As time series data is continuously written into Elasticsearch and the index size keeps growing, you can configure Index Lifecycle Management (ISM) to periodically roll o",
"product_code":"css",
"title":"Automating Index Rollover in an Elasticsearch Cluster Through Index Lifecycle Management",
- "uri":"css_01_0420.html",
+ "uri":"css_01_0021.html",
"doc_type":"usermanual",
- "p_code":"88",
- "code":"90"
+ "p_code":"95",
+ "code":"97"
},
{
"desc":"CSS supports decoupled storage and compute. That is, indexes can be frozen and their data can be dumped to OBS to reduce the storage cost of cold data. This document desc",
"product_code":"css",
"title":"Decoupling Index Storage and Compute in an Elasticsearch Cluster Through Index Lifecycle Management",
- "uri":"css_01_0421.html",
+ "uri":"css_01_0022.html",
"doc_type":"usermanual",
- "p_code":"88",
- "code":"91"
+ "p_code":"95",
+ "code":"98"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Elasticsearch Cluster Monitoring and Log Management",
- "uri":"css_01_0422.html",
+ "uri":"css_01_0016.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"92"
+ "p_code":"18",
+ "code":"99"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Elasticsearch Cluster Monitoring Metrics",
- "uri":"css_01_0423.html",
+ "uri":"css_01_0025.html",
"doc_type":"usermanual",
- "p_code":"92",
- "code":"93"
+ "p_code":"99",
+ "code":"100"
},
{
- "desc":"You can use Cloud Eye to monitor CSS cluster metrics of in real time and quickly handle exceptions. For details about Cloud Eye, see Cloud Eye User Guide.You can use Clou",
+ "desc":"You can use Cloud Eye to monitor CSS cluster metrics in real time and quickly handle exceptions. For details about Cloud Eye, see Cloud Eye User Guide.This section descri",
"product_code":"css",
"title":"Monitoring Metrics for Elasticsearch Clusters in Cloud Eye",
- "uri":"css_01_0424.html",
+ "uri":"css_01_0042.html",
"doc_type":"usermanual",
- "p_code":"93",
- "code":"94"
+ "p_code":"100",
+ "code":"101"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Elasticsearch Cluster Monitoring Metrics Supported by the Kernel",
- "uri":"css_01_0425.html",
+ "uri":"css_01_0023.html",
"doc_type":"usermanual",
- "p_code":"93",
- "code":"95"
+ "p_code":"100",
+ "code":"102"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Configuring Elasticsearch Cluster Monitoring",
- "uri":"css_01_0426.html",
+ "uri":"css_01_0026.html",
"doc_type":"usermanual",
- "p_code":"92",
- "code":"96"
+ "p_code":"99",
+ "code":"103"
},
{
- "desc":"With CSS, you can use Cloud Eye to monitor created clusters. After configuring the cluster monitoring, you can log in to the Cloud Eye management console to view cluster ",
+ "desc":"With CSS, you can use Cloud Eye to monitor created clusters. After configuring cluster monitoring, you can log in to the Cloud Eye management console to view cluster metr",
"product_code":"css",
"title":"Using Cloud Eye to Monitor Elasticsearch Clusters",
"uri":"css_01_0155.html",
"doc_type":"usermanual",
- "p_code":"96",
- "code":"97"
+ "p_code":"103",
+ "code":"104"
},
{
- "desc":"Log in to the CSS management console.On the Clusters page, locate the target cluster, and click Access Kibana in the Operation column to access Kibana.Click Dev Tools in ",
+ "desc":"Log in to Kibana and go to the command execution page. Elasticsearch clusters support multiple access methods. This topic uses Kibana as an example to describe the operat",
"product_code":"css",
"title":"Configuring Kernel Monitoring for an Elasticsearch Cluster",
- "uri":"css_01_0427.html",
+ "uri":"css_01_0177.html",
"doc_type":"usermanual",
- "p_code":"96",
- "code":"98"
+ "p_code":"103",
+ "code":"105"
},
{
"desc":"Index monitoring helps to monitor the index usage and trends of a cluster, allowing users to handle potential risks in a timely manner to ensure cluster reliability. Inde",
"product_code":"css",
"title":"Configuring Index Monitoring for an Elasticsearch Cluster",
- "uri":"css_01_0428.html",
+ "uri":"css_01_0135.html",
"doc_type":"usermanual",
- "p_code":"96",
- "code":"99"
+ "p_code":"103",
+ "code":"106"
},
{
"desc":"This topic describes how to use the open-source Open Distro alarm plugin to configure alarm alerting via the Simple Message Notification (SMN) service for Elasticsearch c",
@@ -896,26 +959,26 @@
"title":"Setting Alarm Alerting via SMN for an Elasticsearch Cluster",
"uri":"css_01_0223.html",
"doc_type":"usermanual",
- "p_code":"92",
- "code":"100"
+ "p_code":"99",
+ "code":"107"
},
{
"desc":"Make necessary configurations in Kibana to synchronize Elasticsearch alerts to Prometheus so you can use Prometheus to monitor and analyze key performance metrics for Ela",
"product_code":"css",
"title":"Synchronizing Elasticsearch Alerts to Prometheus",
- "uri":"css_01_0429.html",
+ "uri":"css_01_0219.html",
"doc_type":"usermanual",
- "p_code":"92",
- "code":"101"
+ "p_code":"99",
+ "code":"108"
},
{
- "desc":"CSS supports log backup and search, so users can analyze logs to locate issues.You can have cluster logs periodically backed up to OBS buckets and download log files from",
+ "desc":"CSS provides log query and log backup, enabling you to easily manage and analyze logs to efficiently locate faults, optimize performance, and enhance system security.Log ",
"product_code":"css",
- "title":"Querying and Managing Elasticsearch Cluster Logs",
+ "title":"Managing Elasticsearch Cluster Logs",
"uri":"css_01_0077.html",
"doc_type":"usermanual",
- "p_code":"92",
- "code":"102"
+ "p_code":"99",
+ "code":"109"
},
{
"desc":"Cloud Trace Service (CTS) is available on the public cloud platform. With CTS, you can record operations associated with CSS for later query, audit, and backtrack operati",
@@ -923,8 +986,8 @@
"title":"Viewing Elasticsearch Cluster Audit Logs",
"uri":"css_01_0050.html",
"doc_type":"usermanual",
- "p_code":"17",
- "code":"103"
+ "p_code":"18",
+ "code":"110"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -933,34 +996,61 @@
"uri":"css_01_0273.html",
"doc_type":"usermanual",
"p_code":"",
- "code":"104"
+ "code":"111"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Procedure for Using OpenSearch",
- "uri":"css_01_0438.html",
+ "uri":"css_01_0027.html",
"doc_type":"usermanual",
- "p_code":"104",
- "code":"105"
+ "p_code":"111",
+ "code":"112"
},
{
- "desc":"Before creating an OpenSearch cluster, develop a plan for it, such as whether to deploy the cluster across multiple AZs to improve availability; the node quantity and spe",
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"OpenSearch Cluster Planning Suggestions",
- "uri":"css_01_0439.html",
+ "uri":"css_01_0028.html",
"doc_type":"usermanual",
- "p_code":"104",
- "code":"106"
+ "p_code":"111",
+ "code":"113"
},
{
- "desc":"This topic describes how to create an OpenSearch cluster.Table 1 lists key parameters that differentiate between different types of clusters.You have planned the OpenSear",
+ "desc":"This topic describes how to improve cluster availability by deploying a cluster across multiple AZs, including the rules for distributing cluster nodes among AZs, the rec",
+ "product_code":"css",
+ "title":"Planning Cluster AZs and HA",
+ "uri":"css_01_0088.html",
+ "doc_type":"usermanual",
+ "p_code":"113",
+ "code":"114"
+ },
+ {
+ "desc":"This topic introduces different OpenSearch cluster versions, including features supported by each version and its application scenarios. It also describes the characteris",
+ "product_code":"css",
+ "title":"Planning the Cluster Version and Security Mode",
+ "uri":"css_01_0092.html",
+ "doc_type":"usermanual",
+ "p_code":"113",
+ "code":"115"
+ },
+ {
+ "desc":"This topic describes the application scenarios and configuration suggestions for each type of cluster nodes, including data nodes, master nodes, client nodes, and cold da",
+ "product_code":"css",
+ "title":"Planning Node Types and Specifications",
+ "uri":"css_01_0094.html",
+ "doc_type":"usermanual",
+ "p_code":"113",
+ "code":"116"
+ },
+ {
+ "desc":"This topic describes how to create an OpenSearch cluster. You can create an OpenSearch cluster in either of the following ways:Method 1: Create an OpenSearch cluster on t",
"product_code":"css",
"title":"Creating an OpenSearch Cluster",
- "uri":"css_01_0275.html",
+ "uri":"css_01_0269.html",
"doc_type":"usermanual",
- "p_code":"104",
- "code":"107"
+ "p_code":"111",
+ "code":"117"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -968,368 +1058,485 @@
"title":"Accessing an OpenSearch Cluster",
"uri":"css_01_0288.html",
"doc_type":"usermanual",
- "p_code":"104",
- "code":"108"
+ "p_code":"111",
+ "code":"118"
},
{
"desc":"There are many ways to connect to an OpenSearch cluster. Select the most appropriate access method based on the programming language you prefer. The various access method",
"product_code":"css",
"title":"OpenSearch Cluster Access Methods",
- "uri":"css_01_0440.html",
+ "uri":"css_01_0289.html",
"doc_type":"usermanual",
- "p_code":"108",
- "code":"109"
+ "p_code":"118",
+ "code":"119"
},
{
"desc":"OpenSearch Dashboards is the data visualization and exploration platform for OpenSearch. It enables in-depth data analysis and interactive visualization. In CSS, OpenSear",
"product_code":"css",
- "title":"Logging In to an OpenSearch Cluster Using OpenSearch Dashboards",
- "uri":"css_01_0441.html",
+ "title":"Logging In to an OpenSearch Cluster Through OpenSearch Dashboards",
+ "uri":"css_01_0327.html",
"doc_type":"usermanual",
- "p_code":"108",
- "code":"110"
+ "p_code":"118",
+ "code":"120"
},
{
"desc":"Cerebro is an open-source Elasticsearch web admin tool, designed for real-time monitoring and efficient cluster operations. Cerebro works for OpenSearch just as well. In ",
"product_code":"css",
"title":"Logging In to an OpenSearch Cluster Through Cerebro",
- "uri":"css_01_0442.html",
+ "uri":"css_01_0029.html",
"doc_type":"usermanual",
- "p_code":"108",
- "code":"111"
- },
- {
- "desc":"Open-source Elasticsearch provides a series of RESTful APIs. You can run cURL commands to access these APIs using tools such as Kibana and Postman. This topic describes h",
- "product_code":"css",
- "title":"Accessing an OpenSearch Cluster Using cURL Commands",
- "uri":"css_01_0443.html",
- "doc_type":"usermanual",
- "p_code":"108",
- "code":"112"
- },
- {
- "desc":"The Light Directory Access Protocol (LDAP) is a lightweight version of the directory access protocol based on the X.500 standard. An LDAP service provides user authentica",
- "product_code":"css",
- "title":"Accessing an OpenSearch Cluster Using LDAP",
- "uri":"css_01_0452.html",
- "doc_type":"usermanual",
- "p_code":"108",
- "code":"113"
- },
- {
- "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
- "product_code":"css",
- "title":"Importing Data to an OpenSearch Cluster",
- "uri":"css_01_0453.html",
- "doc_type":"usermanual",
- "p_code":"104",
- "code":"114"
- },
- {
- "desc":"OpenSearch clusters support multiple data import methods, as listed in Table 1. Select one that fits your needs the best. Before starting to import data, determine whethe",
- "product_code":"css",
- "title":"Different Ways to Import Data to an OpenSearch Cluster",
- "uri":"css_01_0454.html",
- "doc_type":"usermanual",
- "p_code":"114",
- "code":"115"
- },
- {
- "desc":"You can use in-house built Logstash to migrate data to Elasticsearch or OpenSearch in CSS. This helps you effectively ingest and manage data through CSS. Data files can b",
- "product_code":"css",
- "title":"Using In-house Built Logstash to Import Data to an OpenSearch Cluster",
- "uri":"css_01_0455.html",
- "doc_type":"usermanual",
- "p_code":"114",
- "code":"116"
- },
- {
- "desc":"With CSS, you can use open-source OpenSearch APIs on OpenSearch Dashboards or an ECS server to import data to an OpenSearch cluster. JSON files are supported. For details",
- "product_code":"css",
- "title":"Using Open Source OpenSearch APIs to Import Data to an OpenSearch Cluster",
- "uri":"css_01_0456.html",
- "doc_type":"usermanual",
- "p_code":"114",
- "code":"117"
- },
- {
- "desc":"With CSS, you can use the web user interface of the Cloud Data Migration (CDM) service to import data from an Oracle database or OBS to an Elasticsearch or OpenSearch clu",
- "product_code":"css",
- "title":"Using CDM to Import Data to an OpenSearch Cluster",
- "uri":"css_01_0457.html",
- "doc_type":"usermanual",
- "p_code":"114",
- "code":"118"
- },
- {
- "desc":"This unique CSS feature significantly improves data import performance and reduces write rejections through bulk route optimization, text index acceleration, and word seg",
- "product_code":"css",
- "title":"Enhancing the Data Import Performance of OpenSearch Clusters",
- "uri":"css_01_0458.html",
- "doc_type":"usermanual",
- "p_code":"114",
- "code":"119"
- },
- {
- "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
- "product_code":"css",
- "title":"Searching Data in an OpenSearch Cluster",
- "uri":"css_01_0459.html",
- "doc_type":"usermanual",
- "p_code":"104",
- "code":"120"
- },
- {
- "desc":"DSL is the specified query language for OpenSearch. It is the best language for interaction between OpenSearch clusters and clients. OpenSearch DSL is a JSON-based langua",
- "product_code":"css",
- "title":"Using DSL to Search for Data in OpenSearch",
- "uri":"css_01_0460.html",
- "doc_type":"usermanual",
- "p_code":"120",
+ "p_code":"118",
"code":"121"
},
{
- "desc":"For OpenSearch clusters, Open Distro for OpenSearch SQL lets you write queries in SQL rather than the OpenSearch query domain-specific language (DSL).Users who are famili",
+ "desc":"Open-source OpenSearch provides a series of RESTful APIs. You can run cURL commands to access these APIs using tools such as OpenSearch Dashboards and Postman. This topic",
"product_code":"css",
- "title":"Using SQL to Search for Data in OpenSearch",
- "uri":"css_01_0461.html",
+ "title":"Accessing an OpenSearch Cluster Using cURL Commands",
+ "uri":"css_01_0030.html",
"doc_type":"usermanual",
- "p_code":"120",
+ "p_code":"118",
"code":"122"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
- "title":"Enhancing Search Capabilities for OpenSearch Clusters",
- "uri":"css_01_0462.html",
+ "title":"Accessing an OpenSearch Cluster Using Java",
+ "uri":"css_01_0031.html",
"doc_type":"usermanual",
- "p_code":"104",
+ "p_code":"118",
"code":"123"
},
{
- "desc":"Compared with open-source OpenSearch, OpenSearch clusters in CSS have many enhanced features. Table 1 lists these enhanced features and the corresponding cluster versions",
+ "desc":"You can query and manage data in a CSS OpenSearch cluster using the High Level REST Client. The High Level REST Client encapsulates OpenSearch APIs. You only need to cons",
"product_code":"css",
- "title":"Search Enhancement Features for OpenSearch Clusters",
- "uri":"css_01_0463.html",
+ "title":"Accessing an OpenSearch Cluster Using the High Level REST Client",
+ "uri":"css_01_0032.html",
"doc_type":"usermanual",
"p_code":"123",
"code":"124"
},
{
- "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "desc":"You can query and manage data in a CSS OpenSearch cluster using the Low Level REST Client. The Low Level REST Client encapsulates OpenSearch APIs. You only need to constr",
"product_code":"css",
- "title":"Configuring Vector Search for OpenSearch Clusters",
- "uri":"css_01_0464.html",
+ "title":"Accessing an OpenSearch Cluster Using the Low Level REST Client",
+ "uri":"css_01_0037.html",
"doc_type":"usermanual",
"p_code":"123",
"code":"125"
},
{
- "desc":"Unstructured data, such as images, videos, and language corpora, is converted into vectors, which are searched based on similarity using either an exact or approximate ne",
+ "desc":"You can access and manage data in a CSS OpenSearch cluster using the official OpenSearch Python client (opensearch-py) or Elasticsearch Python client (elasticsearch-py). ",
"product_code":"css",
- "title":"About Vector Search",
- "uri":"css_01_0465.html",
+ "title":"Accessing an OpenSearch Cluster with the Python Client",
+ "uri":"css_01_0043.html",
"doc_type":"usermanual",
- "p_code":"125",
+ "p_code":"118",
"code":"126"
},
{
- "desc":"To create a vector index, perform the following steps:(Optional) Preparations: Configure advanced cluster settings based on service needs.(Optional) Pre-Building and Regi",
+ "desc":"The Light Directory Access Protocol (LDAP) is a lightweight version of the directory access protocol based on the X.500 standard. An LDAP service provides user authentica",
"product_code":"css",
- "title":"Creating Vector Indexes in an OpenSearch Cluster",
- "uri":"css_01_0466.html",
+ "title":"Accessing an OpenSearch Cluster Using LDAP",
+ "uri":"css_01_0248.html",
"doc_type":"usermanual",
- "p_code":"125",
+ "p_code":"118",
"code":"127"
},
- {
- "desc":"Vector indexes support data searches in many different ways.Standard QueryCompound QueryScriptScore QueryRe-Score QueryPainless Syntax ExtensionStandard QueryCompound Que",
- "product_code":"css",
- "title":"Using Vector Indexes for Data Search in an OpenSearch Cluster",
- "uri":"css_01_0467.html",
- "doc_type":"usermanual",
- "p_code":"125",
- "code":"128"
- },
- {
- "desc":"To reduce the cost of backup, disable the backup function before data import and enable it afterwards.Set refresh_interval to 120s or a larger value. Larger segments can ",
- "product_code":"css",
- "title":"Optimizing the Write and Query Performance of Vector Search",
- "uri":"css_01_0468.html",
- "doc_type":"usermanual",
- "p_code":"125",
- "code":"129"
- },
- {
- "desc":"The vector search engine is developed in C++ and uses off-heap memory. You can use the following APIs to manage the index cache.View cache statistics.GET /_vector/statsIn",
- "product_code":"css",
- "title":"Managing the Vector Index Cache",
- "uri":"css_01_0469.html",
- "doc_type":"usermanual",
- "p_code":"125",
- "code":"130"
- },
- {
- "desc":"OpenSearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Python code for creating vector indexes, and importin",
- "product_code":"css",
- "title":"Client Code Sample for Vector Search (Python)",
- "uri":"css_01_0470.html",
- "doc_type":"usermanual",
- "p_code":"125",
- "code":"131"
- },
- {
- "desc":"OpenSearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Java code for creating vector indexes, and importing ",
- "product_code":"css",
- "title":"Client Code Sample for Vector Search (Java)",
- "uri":"css_01_0471.html",
- "doc_type":"usermanual",
- "p_code":"125",
- "code":"132"
- },
- {
- "desc":"CSS stores new data as hot data on SSDs to ensure optimal query performance, and historical data as cold data in OBS to cut storage costs.With storage-compute decoupling,",
- "product_code":"css",
- "title":"Configuring Storage-Compute Decoupling for an OpenSearch Cluster",
- "uri":"css_01_0473.html",
- "doc_type":"usermanual",
- "p_code":"123",
- "code":"133"
- },
- {
- "desc":"In an OpenSearch cluster that has cold data nodes, index data can switch between cold and hot storage. This helps optimize storage costs and improve query performance.Hot",
- "product_code":"css",
- "title":"Switching Between Hot and Cold Storage for an OpenSearch Cluster",
- "uri":"css_01_0474.html",
- "doc_type":"usermanual",
- "p_code":"123",
- "code":"134"
- },
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
- "title":"Configuring Networking for an OpenSearch Cluster",
- "uri":"css_01_0475.html",
+ "title":"Importing Data to an OpenSearch Cluster",
+ "uri":"css_01_0059.html",
"doc_type":"usermanual",
- "p_code":"104",
+ "p_code":"111",
+ "code":"128"
+ },
+ {
+ "desc":"OpenSearch clusters support multiple data ingestion methods, as listed in Table 1. Select one that fits your needs the best. Before starting to ingest data, determine whe",
+ "product_code":"css",
+ "title":"Different Ways to Ingest Data into an OpenSearch Cluster",
+ "uri":"css_01_0084.html",
+ "doc_type":"usermanual",
+ "p_code":"128",
+ "code":"129"
+ },
+ {
+ "desc":"With CSS, you can use in-house developed Logstash to ingest data into OpenSearch for efficient search and exploration. Supported data formats include JSON and CSV.Logstas",
+ "product_code":"css",
+ "title":"Using In-house Built Logstash to Ingest Data into an OpenSearch Cluster",
+ "uri":"css_01_0085.html",
+ "doc_type":"usermanual",
+ "p_code":"128",
+ "code":"130"
+ },
+ {
+ "desc":"With CSS, you can use open-source OpenSearch APIs on OpenSearch Dashboards or an ECS server to import data to an OpenSearch cluster. JSON files are supported. For details",
+ "product_code":"css",
+ "title":"Using Open Source OpenSearch APIs to Import Data to an OpenSearch Cluster",
+ "uri":"css_01_0087.html",
+ "doc_type":"usermanual",
+ "p_code":"128",
+ "code":"131"
+ },
+ {
+ "desc":"With CSS, you can use the web user interface of the Cloud Data Migration (CDM) service to import data from an Oracle database or OBS to an OpenSearch cluster. Only JSON f",
+ "product_code":"css",
+ "title":"Using CDM to Import Data to an OpenSearch Cluster",
+ "uri":"css_01_0089.html",
+ "doc_type":"usermanual",
+ "p_code":"128",
+ "code":"132"
+ },
+ {
+ "desc":"This unique CSS feature significantly enhances data ingestion performance and reduces write rejections through bulk route optimization, text index acceleration, and word ",
+ "product_code":"css",
+ "title":"Enhancing the Data Ingestion Performance of OpenSearch Clusters",
+ "uri":"css_01_0090.html",
+ "doc_type":"usermanual",
+ "p_code":"128",
+ "code":"133"
+ },
+ {
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "product_code":"css",
+ "title":"Searching Data in an OpenSearch Cluster",
+ "uri":"css_01_0074.html",
+ "doc_type":"usermanual",
+ "p_code":"111",
+ "code":"134"
+ },
+ {
+ "desc":"DSL is the specified query language for OpenSearch. It is the best language for interaction between OpenSearch clusters and clients. OpenSearch DSL is a JSON-based langua",
+ "product_code":"css",
+ "title":"Using DSL to Search for Data in OpenSearch",
+ "uri":"css_01_0081.html",
+ "doc_type":"usermanual",
+ "p_code":"134",
"code":"135"
},
{
- "desc":"Public network access is supported only when Security Mode and HTTPS Access are enabled for a cluster. When Public IP Address is enabled, a public IP address is automatic",
+ "desc":"For OpenSearch clusters, Open Distro for OpenSearch SQL lets you write queries in SQL rather than the OpenSearch query domain-specific language (DSL).Users who are famili",
"product_code":"css",
- "title":"Configuring Public Network Access for an OpenSearch Cluster",
- "uri":"css_01_0476.html",
+ "title":"Using SQL to Search for Data in OpenSearch",
+ "uri":"css_01_0083.html",
"doc_type":"usermanual",
- "p_code":"135",
+ "p_code":"134",
"code":"136"
},
{
- "desc":"VPC Endpoint Service enables you to access resources across Virtual Private Clouds (VPCs) using a dedicated gateway, without exposing the network information of servers. ",
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
- "title":"Configuring VPC Endpoint Service for an OpenSearch Cluster",
- "uri":"css_01_0477.html",
+ "title":"Enhancing Search Capabilities for OpenSearch Clusters",
+ "uri":"css_01_0095.html",
"doc_type":"usermanual",
- "p_code":"135",
+ "p_code":"111",
"code":"137"
},
{
- "desc":"CSS integrates shared load balancers, through which you can enable access to a cluster from the public network as well as through the VPC Endpoint service. Dedicated load",
+ "desc":"Compared with open-source OpenSearch, OpenSearch clusters in CSS have many enhanced features. Table 1 lists these enhanced features and the corresponding cluster versions",
"product_code":"css",
- "title":"Configuring a Dedicated Load Balancer for an OpenSearch Cluster",
- "uri":"css_01_0478.html",
+ "title":"Search Enhancement Features for OpenSearch Clusters",
+ "uri":"css_01_0098.html",
"doc_type":"usermanual",
- "p_code":"135",
+ "p_code":"137",
"code":"138"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
- "title":"Backing up and Restoring the Data of an OpenSearch Cluster",
- "uri":"css_01_0479.html",
+ "title":"Configuring Vector Search for OpenSearch Clusters",
+ "uri":"css_01_0101.html",
"doc_type":"usermanual",
- "p_code":"104",
+ "p_code":"137",
"code":"139"
},
{
- "desc":"This topic describes two ways to create snapshots to back up a CSS cluster: automatic and manual.Cluster snapshots will increase CPU usage and disk I/O. You are advised t",
+ "desc":"In the age of AI, unstructured data such as images, videos, audios, and text is growing rapidly. Traditional keyword-based search cannot effectively handle unstructured d",
"product_code":"css",
- "title":"Creating a Snapshot to Back Up the Data of an OpenSearch Cluster",
- "uri":"css_01_0480.html",
+ "title":"About CSS Vector Search",
+ "uri":"css_01_0103.html",
"doc_type":"usermanual",
"p_code":"139",
"code":"140"
},
{
- "desc":"Restore the data captured by a cluster snapshot to the current cluster or another eligible cluster.Cluster snapshots will increase CPU usage and disk I/O. You are advised",
+ "desc":"Integrating efficient indexing techniques, the CSS vector database delivers a high-performance, low-cost, scalable solution for high-dimensional vector search. An OpenSea",
"product_code":"css",
- "title":"Restoring the Data of an OpenSearch Cluster",
- "uri":"css_01_0481.html",
+ "title":"Creating an OpenSearch Vector Cluster",
+ "uri":"css_01_0171.html",
"doc_type":"usermanual",
"p_code":"139",
"code":"141"
},
{
- "desc":"If you no longer need a snapshot, delete it to reclaim storage space.If automatic snapshot creation is enabled, snapshots that are automatically created cannot be deleted",
+ "desc":"Create a vector index in your OpenSearch cluster and define a mapping that contains vector fields, including vector dimensions, indexing algorithm, and similarity measure",
"product_code":"css",
- "title":"Deleting an OpenSearch Cluster Snapshot",
- "uri":"css_01_0482.html",
+ "title":"Creating a Vector Index",
+ "uri":"css_01_0115.html",
"doc_type":"usermanual",
"p_code":"139",
"code":"142"
},
{
- "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "desc":"Importing vector data is the process of ingesting data to the CSS vector database. When writing vector data to a vector index, you need to specify the vector field (for e",
"product_code":"css",
- "title":"Scaling an OpenSearch Cluster",
- "uri":"css_01_0483.html",
+ "title":"Importing Vector Data",
+ "uri":"css_01_0019.html",
"doc_type":"usermanual",
- "p_code":"104",
+ "p_code":"139",
"code":"143"
},
{
- "desc":"If the workloads on the data plane of an OpenSearch cluster increase, you can scale out the cluster by increasing the quantity or capacity of its nodes, including changin",
+ "desc":"The CSS vector database supports a variety of query methods, including standard query, hybrid query, script_score query, rescore query, and painless syntax extension. The",
"product_code":"css",
- "title":"Scaling Out an OpenSearch Cluster",
- "uri":"css_01_0484.html",
+ "title":"Performing Vector Search",
+ "uri":"css_01_0119.html",
"doc_type":"usermanual",
- "p_code":"143",
+ "p_code":"139",
"code":"144"
},
{
- "desc":"If a cluster can process current traffic without fully utilizing its resources, you can scale in the cluster to cut costs.CSS supports multiple scale-in methods, as descr",
+ "desc":"This topic explains how to optimize the performance of a CSS vector database from two aspects—write and query.Writing vector data incurs three major overheads: replica sy",
"product_code":"css",
- "title":"Scaling In an OpenSearch Cluster",
- "uri":"css_01_0485.html",
+ "title":"Optimizing Vector Cluster Performance",
+ "uri":"css_01_0120.html",
"doc_type":"usermanual",
- "p_code":"143",
+ "p_code":"139",
"code":"145"
},
{
- "desc":"OpenSearch clusters support both same-version upgrade and cross-version upgrade.During a same-version upgrade, kernel patches are updated for a cluster. The cluster is up",
+ "desc":"The CSS vector search engine is built on C++. It uses off-heap memory to enhance performance and efficiency. To better manage and optimize the vector index cache, the CSS",
+ "product_code":"css",
+ "title":"Managing the Vector Index Cache",
+ "uri":"css_01_0125.html",
+ "doc_type":"usermanual",
+ "p_code":"139",
+ "code":"146"
+ },
+ {
+ "desc":"Nested fields allow multiple vectorized records to be stored in a single document. For example, in an RAG scenario, documents usually need to be segmented by paragraph or",
+ "product_code":"css",
+ "title":"Using Nested Fields for Vector Search",
+ "uri":"css_01_0112.html",
+ "doc_type":"usermanual",
+ "p_code":"139",
+ "code":"147"
+ },
+ {
+ "desc":"OpenSearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Python code for creating vector indexes, and importin",
+ "product_code":"css",
+ "title":"Sample Python Code for Vector Search",
+ "uri":"css_01_0127.html",
+ "doc_type":"usermanual",
+ "p_code":"139",
+ "code":"148"
+ },
+ {
+ "desc":"OpenSearch provides standard REST APIs and clients developed using Java and Python.This section provides a sample of Java code for creating vector indexes, and importing ",
+ "product_code":"css",
+ "title":"Sample Java Code for Vector Search",
+ "uri":"css_01_0160.html",
+ "doc_type":"usermanual",
+ "p_code":"139",
+ "code":"149"
+ },
+ {
+ "desc":"As data grows exponentially, traditional monolithic storage architectures struggle to balance performance and cost efficiency. To support high-speed real-time queries whi",
+ "product_code":"css",
+ "title":"Configuring Decoupled Storage and Compute for an OpenSearch Cluster",
+ "uri":"css_01_0180.html",
+ "doc_type":"usermanual",
+ "p_code":"137",
+ "code":"150"
+ },
+ {
+ "desc":"Configure flow control policies for your OpenSearch cluster in both the inbound and outbound directions, ensuring cluster stability by safeguarding against abnormal traff",
+ "product_code":"css",
+ "title":"Configuring Flow Control for an OpenSearch Cluster",
+ "uri":"css_01_0056.html",
+ "doc_type":"usermanual",
+ "p_code":"137",
+ "code":"151"
+ },
+ {
+ "desc":"Large query isolation can be configured to manage queries that have high memory usage or take too long to complete. This helps improve the stability of OpenSearch cluster",
+ "product_code":"css",
+ "title":"Configuring Large Query Isolation for an OpenSearch Cluster",
+ "uri":"css_01_0053.html",
+ "doc_type":"usermanual",
+ "p_code":"137",
+ "code":"152"
+ },
+ {
+ "desc":"CSS OpenSearch clusters enhance aggregation performance in the face of large data volumes by leveraging vectorization and optimized clustering, enabling faster analytics ",
+ "product_code":"css",
+ "title":"Configuring Enhanced Aggregation for an OpenSearch Cluster",
+ "uri":"css_01_0110.html",
+ "doc_type":"usermanual",
+ "p_code":"137",
+ "code":"153"
+ },
+ {
+ "desc":"As business expands, and data volumes and access requests grow exponentially, a monolithic architecture where a single cluster handles both write and query requests faces",
+ "product_code":"css",
+ "title":"Configuring Read/Write Splitting Between Two OpenSearch Clusters",
+ "uri":"css_01_0049.html",
+ "doc_type":"usermanual",
+ "p_code":"137",
+ "code":"154"
+ },
+ {
+ "desc":"In an OpenSearch cluster, switching between hot and cold data storage means to allocate data to nodes of different performance standards based on data temperature (that i",
+ "product_code":"css",
+ "title":"Switching Between Hot and Cold Storage for an OpenSearch Cluster",
+ "uri":"css_01_0200.html",
+ "doc_type":"usermanual",
+ "p_code":"137",
+ "code":"155"
+ },
+ {
+ "desc":"By default, when indexes are deleted in an OpenSearch cluster, the index data is deleted permanently. To prevent data loss caused by accidental deletion, CSS provides an ",
+ "product_code":"css",
+ "title":"Configuring an Index Recycle Bin for an OpenSearch Cluster",
+ "uri":"css_01_0047.html",
+ "doc_type":"usermanual",
+ "p_code":"137",
+ "code":"156"
+ },
+ {
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "product_code":"css",
+ "title":"Configuring Networking for an OpenSearch Cluster",
+ "uri":"css_01_0206.html",
+ "doc_type":"usermanual",
+ "p_code":"111",
+ "code":"157"
+ },
+ {
+ "desc":"By default, a CSS OpenSearch cluster cannot access a target service—such as a client program or a Lightweight Directory Access Protocol (LDAP) service—that is located in ",
+ "product_code":"css",
+ "title":"Configuring Routes for an OpenSearch Cluster",
+ "uri":"css_01_0280.html",
+ "doc_type":"usermanual",
+ "p_code":"157",
+ "code":"158"
+ },
+ {
+ "desc":"When public network access is enabled for an OpenSearch cluster, the cluster is automatically assigned a public IP address with dedicated dynamic BGP bandwidth, making it",
+ "product_code":"css",
+ "title":"Configuring Public Network Access for an OpenSearch Cluster",
+ "uri":"css_01_0290.html",
+ "doc_type":"usermanual",
+ "p_code":"157",
+ "code":"159"
+ },
+ {
+ "desc":"VPC Endpoint enables you to access resources across VPCs using a dedicated gateway, without exposing the network information of servers. A VPC endpoint can be accessed vi",
+ "product_code":"css",
+ "title":"Configuring VPC Endpoint Service for an OpenSearch Cluster",
+ "uri":"css_01_0291.html",
+ "doc_type":"usermanual",
+ "p_code":"157",
+ "code":"160"
+ },
+ {
+ "desc":"CSS integrates shared load balancers, through which you can enable access to a cluster from the public network as well as through the VPC Endpoint service. Dedicated load",
+ "product_code":"css",
+ "title":"Configuring a Dedicated Load Balancer for an OpenSearch Cluster",
+ "uri":"css_01_0182.html",
+ "doc_type":"usermanual",
+ "p_code":"157",
+ "code":"161"
+ },
+ {
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "product_code":"css",
+ "title":"Backing up and Restoring the Data of an OpenSearch Cluster",
+ "uri":"css_01_0297.html",
+ "doc_type":"usermanual",
+ "p_code":"111",
+ "code":"162"
+ },
+ {
+ "desc":"CSS allows you to use snapshots to back up and restore the data of an OpenSearch cluster. By storing a snapshot in an OBS bucket, you save a point-in-time copy of the clu",
+ "product_code":"css",
+ "title":"Creating Snapshots to Back Up the Data of an OpenSearch Cluster",
+ "uri":"css_01_0298.html",
+ "doc_type":"usermanual",
+ "p_code":"162",
+ "code":"163"
+ },
+ {
+ "desc":"Use a snapshot to restore a point-in-time copy of an OpenSearch cluster. You can restore it to the original cluster or to another eligible cluster. This process fetches t",
+ "product_code":"css",
+ "title":"Restoring a Snapshot of an OpenSearch Cluster",
+ "uri":"css_01_0300.html",
+ "doc_type":"usermanual",
+ "p_code":"162",
+ "code":"164"
+ },
+ {
+ "desc":"Delete snapshots that are no longer needed to reclaim storage spaces.Deleting a snapshot will permanently delete its data.The deletion of automatically generated snapshot",
+ "product_code":"css",
+ "title":"Deleting an OpenSearch Cluster Snapshot",
+ "uri":"css_01_0301.html",
+ "doc_type":"usermanual",
+ "p_code":"162",
+ "code":"165"
+ },
+ {
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "product_code":"css",
+ "title":"Scaling an OpenSearch Cluster",
+ "uri":"css_01_0208.html",
+ "doc_type":"usermanual",
+ "p_code":"111",
+ "code":"166"
+ },
+ {
+ "desc":"If an OpenSearch cluster struggles to maintain performance in the face of rapid data growth or sustained high memory usage, you may scale it horizontally by adding more n",
+ "product_code":"css",
+ "title":"Scaling Out/Up an OpenSearch Cluster",
+ "uri":"css_01_0304.html",
+ "doc_type":"usermanual",
+ "p_code":"166",
+ "code":"167"
+ },
+ {
+ "desc":"If an OpenSearch cluster has excess capacity due to off-peak traffic or reduced data volumes, you can reduce its nodes to optimize costs.For a pay-per-use cluster, you ca",
+ "product_code":"css",
+ "title":"Scaling In/Down an OpenSearch Cluster",
+ "uri":"css_01_0306.html",
+ "doc_type":"usermanual",
+ "p_code":"166",
+ "code":"168"
+ },
+ {
+ "desc":"In CSS, you can upgrade the version of an OpenSearch cluster to use feature and performance enhancements or fix known issues.A maximum of 20 clusters can be upgraded at t",
"product_code":"css",
"title":"Upgrading the Version of an OpenSearch Cluster",
- "uri":"css_01_0186_0.html",
+ "uri":"css_01_0263.html",
"doc_type":"usermanual",
- "p_code":"104",
- "code":"146"
+ "p_code":"111",
+ "code":"169"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Managing OpenSearch Clusters",
- "uri":"css_01_0486.html",
+ "uri":"css_01_0274.html",
"doc_type":"usermanual",
- "p_code":"104",
- "code":"147"
+ "p_code":"111",
+ "code":"170"
},
{
- "desc":"On the Elasticsearch/OpenSearch cluster list and cluster information page, you can check the cluster status, version, and node information.A cluster list displays all clu",
+ "desc":"On the CSS management console, you can check an OpenSearch cluster's status, version, nodes, configurations and settings, and resource allocation on the cluster list and ",
"product_code":"css",
"title":"Viewing OpenSearch Cluster Information",
- "uri":"css_01_0487.html",
+ "uri":"css_01_0276.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"148"
+ "p_code":"170",
+ "code":"171"
},
{
"desc":"CSS limits access to security-mode clusters to authorized users only. When creating a security-mode cluster, an administrator account must be created. This administrator ",
@@ -1337,98 +1544,98 @@
"title":"Creating Users for an OpenSearch Cluster and Granting Cluster Access",
"uri":"css_01_0329.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"149"
+ "p_code":"170",
+ "code":"172"
},
{
- "desc":"Tags are cluster identifiers. Adding tags to clusters can help you identify and manage your cluster resources.You can add tags to a cluster when creating the cluster or a",
+ "desc":"Tags are cluster identifiers. Adding tags to clusters helps you identify and manage your cluster resources.Tags can be added during or after cluster creation. If you want",
"product_code":"css",
"title":"Setting Tags for an OpenSearch Cluster",
- "uri":"css_01_0488.html",
+ "uri":"css_01_0277.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"150"
+ "p_code":"170",
+ "code":"173"
},
{
- "desc":"You can modify an OpenSearch cluster's configuration file for purposes like accelerating queries, enabling cross-domain access, adjusting the internal cache size, and man",
+ "desc":"You can modify an OpenSearch cluster's configuration file for purposes like accelerating queries, modifying cross-domain access configuration, adjusting the internal cach",
"product_code":"css",
"title":"Configuring Default Parameters in the .yml Configuration File of an OpenSearch Cluster",
- "uri":"css_01_0489.html",
+ "uri":"css_01_0316.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"151"
+ "p_code":"170",
+ "code":"174"
},
{
- "desc":"You can create enterprise projects based on your organizational structure. Then you can manage resources across different regions by enterprise project, add users and use",
+ "desc":"In CSS, you can associate your OpenSearch cluster with an enterprise project. You can create enterprise projects based on your organizational structure. Then you can mana",
"product_code":"css",
- "title":"Binding an OpenSearch Cluster to an Enterprise Project",
- "uri":"css_01_0490.html",
+ "title":"Associating an OpenSearch Cluster with an Enterprise Project",
+ "uri":"css_01_0285.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"152"
+ "p_code":"170",
+ "code":"175"
},
{
- "desc":"If the workloads on the data plane of an OpenSearch cluster change, you can scale the cluster by changing its node specifications or disk types.If the data volume is larg",
+ "desc":"If the workloads on an OpenSearch cluster's data plane change, you can scale the cluster vertically by changing its node specifications or node storage type.For a pay-per",
"product_code":"css",
"title":"Changing the Node Specifications of an OpenSearch Cluster",
- "uri":"css_01_0491.html",
+ "uri":"css_01_0246.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"153"
+ "p_code":"170",
+ "code":"176"
},
{
- "desc":"If a node in a cluster becomes faulty, you can create a new node with the same specifications to replace it. Before the replacement of a specified node, the data of that ",
+ "desc":"If a node in an OpenSearch cluster is faulty, you can replace it to restore services.The node replacement process is as follows:Migrate data from the node that needs to b",
"product_code":"css",
"title":"Replacing Specified Nodes for an OpenSearch Cluster",
- "uri":"css_01_0492.html",
+ "uri":"css_01_0308.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"154"
+ "p_code":"170",
+ "code":"177"
},
{
- "desc":"This topic describes how to change the security mode of an existing cluster.You can create a cluster by choosing its security mode and web protocol (HTTP or HTTPS). For d",
+ "desc":"With CSS, when an OpenSearch cluster's security needs change, you can change its security mode settings.Configure the security mode based on the security needs of your cl",
"product_code":"css",
"title":"Changing the Security Mode of an OpenSearch Cluster",
- "uri":"css_01_0493.html",
+ "uri":"css_01_0310.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"155"
+ "p_code":"170",
+ "code":"178"
},
{
- "desc":"CSS supports cross-AZ deployment. By switching AZs for a cluster, you can obtain more resources for the cluster or improve cluster availability.You can Add AZ or Migrate ",
+ "desc":"CSS supports cross-AZ deployment. By switching AZs for a cluster, you can make more resources available to the cluster or improve the cluster's availability.You can Add A",
"product_code":"css",
"title":"Switching AZs for an OpenSearch Cluster",
- "uri":"css_01_0494.html",
+ "uri":"css_01_0311.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"156"
+ "p_code":"170",
+ "code":"179"
},
{
"desc":"If an OpenSearch cluster has stopped working, you can try to recover it by restarting it. Two restart options are available: quick restart and rolling restart. You are ad",
"product_code":"css",
"title":"Restarting an OpenSearch Cluster",
- "uri":"css_01_0499.html",
+ "uri":"css_01_0286.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"157"
+ "p_code":"170",
+ "code":"180"
},
{
- "desc":"You can delete clusters that you no longer need.Deleting a cluster will clear all its data. Exercise caution.A cluster that has no snapshots created for it cannot be rest",
+ "desc":"You can delete clusters that you no longer need.Deleting a cluster will delete all its data. Any data that has not been backed up will be permanently lost. Exercise cauti",
"product_code":"css",
"title":"Deleting an OpenSearch Cluster",
- "uri":"css_01_0500.html",
+ "uri":"css_01_0287.html",
"doc_type":"usermanual",
- "p_code":"147",
- "code":"158"
+ "p_code":"170",
+ "code":"181"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Managing Index Policies for OpenSearch Clusters",
- "uri":"css_01_0501.html",
+ "uri":"css_01_0320.html",
"doc_type":"usermanual",
- "p_code":"104",
- "code":"159"
+ "p_code":"111",
+ "code":"182"
},
{
"desc":"This topic describes how to create and manage index lifecycle policies for OpenSearch clusters.Index State Management (ISM) of OpenSearch is a plugin that allows you to a",
@@ -1436,98 +1643,116 @@
"title":"Creating and Managing OpenSearch Index Policies",
"uri":"css_01_0319.html",
"doc_type":"usermanual",
- "p_code":"159",
- "code":"160"
+ "p_code":"182",
+ "code":"183"
},
{
"desc":"As time series data is continuously written into OpenSearch and the index size keeps growing, you can configure Index Lifecycle Management (ISM) to periodically roll over",
"product_code":"css",
"title":"Automating Index Rollover in an OpenSearch Cluster Through Index Lifecycle Management",
- "uri":"css_01_0502.html",
+ "uri":"css_01_0209.html",
"doc_type":"usermanual",
- "p_code":"159",
- "code":"161"
+ "p_code":"182",
+ "code":"184"
},
{
"desc":"CSS supports decoupled storage and compute. That is, indexes can be frozen in OBS to reduce the storage cost of cold data. This document describes how to use index lifecy",
"product_code":"css",
"title":"Decoupling Index Storage and Compute in an OpenSearch Cluster Through Index Lifecycle Management",
- "uri":"css_01_0503.html",
+ "uri":"css_01_0211.html",
"doc_type":"usermanual",
- "p_code":"159",
- "code":"162"
+ "p_code":"182",
+ "code":"185"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"OpenSearch Cluster Monitoring and Log Management",
- "uri":"css_01_0504.html",
+ "uri":"css_01_0212.html",
"doc_type":"usermanual",
- "p_code":"104",
- "code":"163"
+ "p_code":"111",
+ "code":"186"
},
{
- "desc":"You can use Cloud Eye to monitor CSS cluster metrics in real time and quickly handle exceptions. For details about Cloud Eye, see Cloud Eye User Guide.You can use Cloud E",
+ "desc":"You can use Cloud Eye to monitor CSS cluster metrics in real time and quickly handle exceptions. For details about Cloud Eye, see Cloud Eye User Guide.This section descri",
"product_code":"css",
"title":"Monitoring Metrics for OpenSearch Clusters in Cloud Eye",
- "uri":"css_01_0505.html",
+ "uri":"css_01_0213.html",
"doc_type":"usermanual",
- "p_code":"163",
- "code":"164"
+ "p_code":"186",
+ "code":"187"
},
{
- "desc":"With CSS, you can use Cloud Eye to monitor created clusters. After configuring the cluster monitoring, you can log in to the Cloud Eye management console to view cluster ",
+ "desc":"With CSS, you can use Cloud Eye to monitor created clusters. After configuring cluster monitoring, you can log in to the Cloud Eye management console to view cluster metr",
"product_code":"css",
"title":"Using Cloud Eye to Monitor OpenSearch Clusters",
- "uri":"css_01_0506.html",
+ "uri":"css_01_0214.html",
"doc_type":"usermanual",
- "p_code":"163",
- "code":"165"
+ "p_code":"186",
+ "code":"188"
},
{
- "desc":"By default, CSS has installed the open-source alert plugin opensearch-alerting for OpenSearch clusters to send notifications when data meets specific conditions. This plu",
+ "desc":"Index monitoring helps you monitor the index status, statistics, and trends of a cluster, allowing you to promptly handle potential risks to ensure cluster reliability. B",
+ "product_code":"css",
+ "title":"Configuring Index Monitoring for an OpenSearch Cluster",
+ "uri":"css_01_0045.html",
+ "doc_type":"usermanual",
+ "p_code":"186",
+ "code":"189"
+ },
+ {
+ "desc":"This topic describes how to use an open-source alerting or notification plugin to configure alarm alerting via the Simple Message Notification (SMN) service for OpenSearc",
"product_code":"css",
"title":"Setting Alarm Alerting via SMN for an OpenSearch Cluster",
"uri":"css_01_0364.html",
"doc_type":"usermanual",
- "p_code":"163",
- "code":"166"
+ "p_code":"186",
+ "code":"190"
},
{
- "desc":"CSS supports log backup and search, so users can analyze logs to locate issues.You can have cluster logs periodically backed up to OBS buckets and download log files from",
+ "desc":"Make necessary configurations in OpenSearch Dashboards to synchronize OpenSearch alerts to Prometheus so you can use Prometheus to monitor and analyze key performance met",
"product_code":"css",
- "title":"Querying and Managing OpenSearch Cluster Logs",
- "uri":"css_01_0508.html",
+ "title":"Synchronizing OpenSearch Alerts to Prometheus",
+ "uri":"css_01_0106.html",
"doc_type":"usermanual",
- "p_code":"163",
- "code":"167"
+ "p_code":"186",
+ "code":"191"
},
{
- "desc":"Cloud Trace Service (CTS) is available on the public cloud platform. With CTS, you can record operations associated with CSS for later query, audit, and backtrack operati",
+ "desc":"CSS provides log query and log backup, enabling you to easily manage and analyze logs to efficiently locate faults, optimize performance, and enhance system security.Log ",
+ "product_code":"css",
+ "title":"Managing OpenSearch Cluster Logs",
+ "uri":"css_01_0321.html",
+ "doc_type":"usermanual",
+ "p_code":"186",
+ "code":"192"
+ },
+ {
+ "desc":"Cloud Trace Service (CTS) is available on the public cloud platform. CTS can record operations associated with CSS for subsequent query, auditing, and backtracking purpos",
"product_code":"css",
"title":"Viewing OpenSearch Cluster Audit Logs",
- "uri":"css_01_0509.html",
+ "uri":"css_01_0051.html",
"doc_type":"usermanual",
- "p_code":"104",
- "code":"168"
+ "p_code":"111",
+ "code":"193"
},
{
- "desc":"On the Dashboard page of the CSS management console, you can check the resource monitoring metrics and alarms of CSS.Check CSS alarms on the Dashboard page.Log in to the ",
+ "desc":"On the Monitoring and Dashboard pages of the CSS management console, you can check the resource monitoring metrics and alarms of CSS.CSS's out-of-the-box monitoring dashb",
"product_code":"css",
"title":"CSS Resource Monitoring",
- "uri":"css_01_0544.html",
+ "uri":"css_01_0250.html",
"doc_type":"usermanual",
"p_code":"",
- "code":"169"
+ "code":"194"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"FAQs",
- "uri":"en-us_topic_0000001944961884.html",
+ "uri":"css_00_0003.html",
"doc_type":"usermanual",
"p_code":"",
- "code":"170"
+ "code":"195"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -1535,8 +1760,8 @@
"title":"General Consulting",
"uri":"css_02_0051.html",
"doc_type":"usermanual",
- "p_code":"170",
- "code":"171"
+ "p_code":"195",
+ "code":"196"
},
{
"desc":"CSS uses network isolation in addition to various host and data security measures.Network isolationThe entire network is divided into two planes: service plane and manage",
@@ -1544,26 +1769,26 @@
"title":"How Does CSS Ensure Data and Workload Security?",
"uri":"css_02_0006.html",
"doc_type":"usermanual",
- "p_code":"171",
- "code":"172"
+ "p_code":"196",
+ "code":"197"
},
{
- "desc":"CSS uses EVS and local disks to store your indices. During cluster creation, you can specify the EVS disk type and specifications (the EVS disk size).EVS disk types inclu",
+ "desc":"CSS uses EVS and local disks to store your indexes. During cluster creation, you can specify the EVS disk type and specifications (the EVS disk size).EVS disk types inclu",
"product_code":"css",
"title":"What Storage Options Are Available for a CSS Cluster?",
"uri":"css_02_0008.html",
"doc_type":"usermanual",
- "p_code":"171",
- "code":"173"
+ "p_code":"196",
+ "code":"198"
},
{
- "desc":"You can store the following logs and files:Log files: Elasticsearch logsData files: Elasticsearch index filesOther files: cluster configuration filesOS: 5% storage space ",
+ "desc":"You can store the following logs and files:Log files: cluster logsData files: cluster index filesOther files: cluster configuration filesOS: 5% of the storage space is re",
"product_code":"css",
- "title":"What Files Are Stored in the Disk Spaces of a CSS Cluster?",
+ "title":"What Files Are Stored on the Disks of a CSS Cluster?",
"uri":"css_02_0010.html",
"doc_type":"usermanual",
- "p_code":"171",
- "code":"174"
+ "p_code":"196",
+ "code":"199"
},
{
"desc":"CSS supports two data compression algorithms: LZ4 (by default) and best_compression.LZ4 algorithmLZ4 is the default compression algorithm for Elasticsearch. This algorith",
@@ -1571,17 +1796,8 @@
"title":"What Data Compression Algorithms Does CSS Use?",
"uri":"css_02_0041.html",
"doc_type":"usermanual",
- "p_code":"171",
- "code":"175"
- },
- {
- "desc":"With Elasticsearch 7.10.2 (with an image version no earlier than 7.10.2_24.3.3_x.x.x), Kibana supports one-click data export in CSV.A maximum of 10 MB of data can be expo",
- "product_code":"css",
- "title":"Can I Export Data from Kibana in CSS?",
- "uri":"css_02_0098.html",
- "doc_type":"usermanual",
- "p_code":"171",
- "code":"176"
+ "p_code":"196",
+ "code":"200"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -1589,17 +1805,17 @@
"title":"Accessing CSS Clusters",
"uri":"css_02_0077.html",
"doc_type":"usermanual",
- "p_code":"170",
- "code":"177"
+ "p_code":"195",
+ "code":"201"
},
{
- "desc":"If you want to change the administrator password of a security cluster or you have forgotten the password, reset the password.On the Clusters page, locate the target clus",
+ "desc":"If you want to change the administrator password of a security-mode cluster, or if you have forgotten the password, reset the password.Log in to the CSS management consol",
"product_code":"css",
"title":"How Do I Reset the Administrator Password of a Security-mode Cluster in CSS?",
- "uri":"en-us_topic_0000001963573269.html",
+ "uri":"css_02_0076.html",
"doc_type":"usermanual",
- "p_code":"177",
- "code":"178"
+ "p_code":"201",
+ "code":"202"
},
{
"desc":"Yes. Port 9200 is used by external systems to access CSS clusters, and port 9300 is used for communication between nodes.The methods for accessing port 9300 are as follow",
@@ -1607,17 +1823,17 @@
"title":"Are Ports 9200 and 9300 Open for Access to Elasticsearch Clusters?",
"uri":"css_02_0083.html",
"doc_type":"usermanual",
- "p_code":"177",
- "code":"179"
+ "p_code":"201",
+ "code":"203"
},
{
- "desc":"Perform the following operations:1.Obtaining CSS Information2.Configuring a NAT Gateway3.Modifying Security Group Rules4.Accessing CSS from the InternetIf your CSS cluste",
+ "desc":"Perform the following operations:1. Obtaining Cluster Information2. Configuring a NAT Gateway3. Modifying Security Group Rules for the Cluster4. Accessing a Cluster over ",
"product_code":"css",
- "title":"How Do I Use a NAT Gateway to Access CSS from the Internet?",
+ "title":"How Do I Use a NAT Gateway to Enable Public Network Access for an Elasticsearch/OpenSearch Cluster?",
"uri":"css_02_0033.html",
"doc_type":"usermanual",
- "p_code":"177",
- "code":"180"
+ "p_code":"201",
+ "code":"204"
},
{
"desc":"Only Kibana images of the OSS version can be connected to Elasticsearch clusters in CSS.Create an ECS.The ECS must be within the same VPC as the CSS cluster.Port 5601 mus",
@@ -1625,17 +1841,17 @@
"title":"How Do I Connect In-house Developed Kibana to an Elasticsearch Cluster in CSS?",
"uri":"css_02_0097.html",
"doc_type":"usermanual",
- "p_code":"177",
- "code":"181"
+ "p_code":"201",
+ "code":"205"
},
{
"desc":"Only OpenSearch Dashboards images of the OSS version can be connected to OpenSearch clusters in CSS.Create an ECS.The ECS must be within the same VPC as the CSS cluster.P",
"product_code":"css",
"title":"How Do I Connect In-house Developed OpenSearch Dashboards to an OpenSearch Cluster in CSS?",
- "uri":"en-us_topic_0000002021043217.html",
+ "uri":"css_02_0152.html",
"doc_type":"usermanual",
- "p_code":"177",
- "code":"182"
+ "p_code":"201",
+ "code":"206"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -1643,8 +1859,8 @@
"title":"Migrating CSS Clusters",
"uri":"css_02_0146.html",
"doc_type":"usermanual",
- "p_code":"170",
- "code":"183"
+ "p_code":"195",
+ "code":"207"
},
{
"desc":"Use either of the following methods to migrate Elasticsearch clusters across different VPCs:Use the backup and restoration function to migrate cluster data.Connect the VP",
@@ -1652,8 +1868,8 @@
"title":"Can CSS Elasticsearch Clusters Be Migrated Across VPCs?",
"uri":"css_02_0058.html",
"doc_type":"usermanual",
- "p_code":"183",
- "code":"184"
+ "p_code":"207",
+ "code":"208"
},
{
"desc":"In CSS, perform the following to migrate Elasticsearch clusters across different regions:If the OBS bucket is in the same region as your CSS cluster, migrate the cluster ",
@@ -1661,8 +1877,17 @@
"title":"Can CSS Clusters Be Migrated Across Different Regions?",
"uri":"css_02_0094.html",
"doc_type":"usermanual",
- "p_code":"183",
- "code":"185"
+ "p_code":"207",
+ "code":"209"
+ },
+ {
+ "desc":"With Elasticsearch 7.10.2 (with an image version no earlier than 7.10.2_24.3.3_x.x.x), Kibana supports one-click data export in CSV.A maximum of 10 MB of data can be expo",
+ "product_code":"css",
+ "title":"Can I Export Data from Kibana in CSS?",
+ "uri":"css_02_0098.html",
+ "doc_type":"usermanual",
+ "p_code":"207",
+ "code":"210"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -1670,8 +1895,8 @@
"title":"Using CSS Cluster Search Engines",
"uri":"css_02_0055.html",
"doc_type":"usermanual",
- "p_code":"170",
- "code":"186"
+ "p_code":"195",
+ "code":"211"
},
{
"desc":"The possible causes are as follows:Shards were unevenly distributed in previous index allocations, and the predominate parameter in the latest indexed shard allocation wa",
@@ -1679,8 +1904,8 @@
"title":"Why Are Newly Created Index Shards Allocated to a Single Node in CSS?",
"uri":"css_02_0042.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"187"
+ "p_code":"211",
+ "code":"212"
},
{
"desc":"In Elasticsearch 7.x and later versions, types cannot be created for indexes.If you need to use types, add include_type_name=true to the command. Only a single type is su",
@@ -1688,8 +1913,8 @@
"title":"How Do I Create a Type Under an Index in an Elasticsearch 7.x Cluster of CSS?",
"uri":"css_02_0132.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"188"
+ "p_code":"211",
+ "code":"213"
},
{
"desc":"When creating an index for an Elasticsearch cluster, you can specify the number of shards, that is, the number of primary shards. Once an index is created, the number of ",
@@ -1697,8 +1922,8 @@
"title":"How Do I Change the Number of Replicas for Elasticsearch Indexes in CSS?",
"uri":"css_02_0089.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"189"
+ "p_code":"211",
+ "code":"214"
},
{
"desc":"A large number of shards in a cluster slows down shard creation.If automatic index creation is enabled, slow index creation may cause a large number of write requests to ",
@@ -1706,17 +1931,17 @@
"title":"What Are the Impacts If an Elasticsearch Cluster of CSS Has Too Many Shards?",
"uri":"css_02_0124.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"190"
+ "p_code":"211",
+ "code":"215"
},
{
- "desc":"Log in to the CSS management console.On the Clusters page, click Access Kibana in the Operation column of a cluster.Log in to Kibana and choose Dev Tools.On the Console p",
+ "desc":"Log in to Kibana and go to the command execution page. Elasticsearch clusters support multiple access methods. This topic uses Kibana as an example to describe the operat",
"product_code":"css",
- "title":"How Do I Check the Number of Shards and Replicas in a CSS Cluster?",
+ "title":"How Do I Check the Number of Index Shards and Replicas in a CSS Elasticsearch Cluster?",
"uri":"css_02_0093.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"191"
+ "p_code":"211",
+ "code":"216"
},
{
"desc":"If the value of node.roles of a client node is i, then is this client node an ingest node?Are there coordinating only nodes in clusters? Are the client requests distribut",
@@ -1724,17 +1949,17 @@
"title":"What Does the Value i for node.roles Mean for Nodes in an Elasticsearch Cluster of CSS?",
"uri":"css_02_0127.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"192"
+ "p_code":"211",
+ "code":"217"
},
{
- "desc":"Method 1Open Kibana and run the following commands on the DevTools page:PUT _all/_settings?preserve_existing=true\n{\n\"index.max_result_window\" : \"10000000\"\n}Open Kibana an",
+ "desc":"Method 1Open Kibana and run the following commands on the Dev Tools page:PUT _all/_settings?preserve_existing=true\n{\n\"index.max_result_window\" : \"10000000\"\n}Open Kibana a",
"product_code":"css",
- "title":"How Do I Change the Maximum Number of Results Returned for Searches to an Index in an Elasticsearch Cluster of CSS?",
+ "title":"How Do I Change the Maximum Number of Results Returned in Response to a Single Search Request to a Specific Index in a CSS Elasticsearch Cluster?",
"uri":"css_02_0125.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"193"
+ "p_code":"211",
+ "code":"218"
},
{
"desc":"The lifecycle of Elasticsearch clusters is implemented using the Index State Management (ISM) of Open Distro. For details about how to configure policies related to the I",
@@ -1742,17 +1967,8 @@
"title":"How Do I Update Index Lifecycle Policies for an Elasticsearch Cluster of CSS?",
"uri":"css_02_0119.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"194"
- },
- {
- "desc":"The slow query log settings of CSS are the same as those of Elasticsearch. You can configure slow query logs via the _settings API. For example, you can run the following",
- "product_code":"css",
- "title":"How Do I Set Slow Query Log Thresholds for an Elasticsearch Cluster of CSS?",
- "uri":"css_02_0096.html",
- "doc_type":"usermanual",
- "p_code":"186",
- "code":"195"
+ "p_code":"211",
+ "code":"219"
},
{
"desc":"Before deleting index data, carefully evaluate any potential impact on services.Have indexes automatically cleared on a regular basis.You can create a scheduled task to e",
@@ -1760,8 +1976,8 @@
"title":"How Do I Clear Elasticsearch Indexes in CSS?",
"uri":"css_02_0067.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"196"
+ "p_code":"211",
+ "code":"220"
},
{
"desc":"Clear the fielddataDuring aggregation and sorting, data are converted to the fielddata structure, which occupies a large amount of memory.Run the following command on Kib",
@@ -1769,8 +1985,8 @@
"title":"How Do I Clear Elasticsearch Cache in CSS?",
"uri":"css_02_0130.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"197"
+ "p_code":"211",
+ "code":"221"
},
{
"desc":"Running the delete_by_query command only add a deletion mark to the target data, instead of really deleting it. When you search for data, all data is searched and the dat",
@@ -1778,8 +1994,8 @@
"title":"Why Does the Disk Usage Increase After the delete_by_query Command Was Executed to Delete Data in an Elasticsearch Cluster?",
"uri":"css_02_0126.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"198"
+ "p_code":"211",
+ "code":"222"
},
{
"desc":"The Elasticsearch-native vector search function is provided via an X-Pack plugin, which is currently not integrated in CSS. This is why the native script dotProduct canno",
@@ -1787,8 +2003,8 @@
"title":"Do CSS Elasticsearch Clusters Support script dotProduct?",
"uri":"css_02_0133.html",
"doc_type":"usermanual",
- "p_code":"186",
- "code":"199"
+ "p_code":"211",
+ "code":"223"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -1796,35 +2012,35 @@
"title":"Managing CSS Clusters",
"uri":"css_02_0137.html",
"doc_type":"usermanual",
- "p_code":"170",
- "code":"200"
+ "p_code":"195",
+ "code":"224"
},
{
- "desc":"You view the AZ where a cluster is located on the Cluster Information page.Log in to the CSS management console.Choose ClustersElasticsearch. The cluster list is displaye",
+ "desc":"You can check the AZ or AZs (in the case of a multi-AZ deployment) of a cluster on the cluster information page.Log in to the CSS management console.In the navigation pan",
"product_code":"css",
- "title":"How Do I Check the AZ Where a CSS Cluster Is Located?",
+ "title":"How Do I Check the AZ or AZs of a CSS Cluster?",
"uri":"css_02_0134.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"201"
+ "p_code":"224",
+ "code":"225"
},
{
- "desc":"Clusters in non-security mode: no restrictions.Clusters in security mode: The Filebeat OSS version must match the cluster version. For details on how to download the File",
+ "desc":"Clusters with the security mode disabled: no restrictions.Clusters with the security mode enabled: The Filebeat OSS version must match the cluster version. For the correc",
"product_code":"css",
"title":"What Is the Relationship Between the Filebeat Version and Cluster Version in CSS?",
"uri":"css_02_0064.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"202"
+ "p_code":"224",
+ "code":"226"
},
{
- "desc":"The security certificate (CloudSearchService.cer) can be downloaded only for security clusters that have enabled HTTPS access. The security certificate cannot be used in ",
+ "desc":"The security certificate (CloudSearchService.cer) can be downloaded only for security-mode clusters that have enabled HTTPS access. The security certificate cannot be use",
"product_code":"css",
- "title":"How Do I Obtain the Security Certificate of CSS?",
+ "title":"How Do I Obtain the Security Certificate of a CSS Security-Mode Cluster?",
"uri":"css_02_0106.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"203"
+ "p_code":"224",
+ "code":"227"
},
{
"desc":"The security certificate (CloudSearchService.cer) can be downloaded only for security clusters that have enabled HTTPS access. Most software supports certificates in the ",
@@ -1832,17 +2048,26 @@
"title":"How Do I Convert the Format of a CER Security Certificate in CSS?",
"uri":"css_02_0128.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"204"
+ "p_code":"224",
+ "code":"228"
},
{
- "desc":"After a cluster is created, you can modify its security group.Before changing the security group, ensure that the port 9200 required for service access has been enabled. ",
+ "desc":"You can change the security group of an existing CSS cluster.It is advisable to perform this operation during off-peak hours.The security group cannot be changed for clus",
"product_code":"css",
- "title":"Can I Modify the Security Group for Elasticsearch and OpenSearch Clusters in CSS?",
+ "title":"Can I Change the Security Group of a CSS Cluster?",
"uri":"css_02_0123.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"205"
+ "p_code":"224",
+ "code":"229"
+ },
+ {
+ "desc":"If the current subnet of an existing Elasticsearch or OpenSearch cluster cannot meet your requirements, you can switch to another subnet.Log in to the CSS management cons",
+ "product_code":"css",
+ "title":"Can I Expand the Subnet for an Elasticsearch or OpenSearch Cluster?",
+ "uri":"css_02_0081.html",
+ "doc_type":"usermanual",
+ "p_code":"224",
+ "code":"230"
},
{
"desc":"By default, CSS allows a maximum of 10,000 buckets to be returned during aggregation. If more than 10,000 buckets need to be returned, you can increase the value of searc",
@@ -1850,26 +2075,26 @@
"title":"How Do I Set search.max_buckets for an Elasticsearch Cluster of CSS?",
"uri":"css_02_0102.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"206"
+ "p_code":"224",
+ "code":"231"
},
{
- "desc":"The TLS algorithm can be modified for Elasticsearch 7.6.2 and later as well as OpenSearch clusters.Log in to the CSS management console.In the navigation pane, choose Clu",
+ "desc":"The TLS algorithm can be modified for Elasticsearch 7.6.2 and later as well as OpenSearch clusters.Log in to the CSS management console.In the navigation pane on the left",
"product_code":"css",
- "title":"Can I Modify the TLS Algorithm of an Elasticsearch or OpenSearch Cluster in CSS?",
+ "title":"How Do I Modify the TLS Algorithm for a CSS Cluster?",
"uri":"css_02_0101.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"207"
+ "p_code":"224",
+ "code":"232"
},
{
- "desc":"Audit logs are disabled for Elasticsearch clusters by default.Audit logs can be enabled for security-mode Elasticsearch 7.6.2 clusters as well as security-mode OpenSearch",
+ "desc":"Audit logs can be enabled for security-mode Elasticsearch 7.6.2 clusters as well as security-mode OpenSearch clusters.Audit logs are disabled for Elasticsearch clusters b",
"product_code":"css",
- "title":"How Do I Enable Audit Logs for an Elasticsearch or OpenSearch Cluster of CSS?",
+ "title":"How Do I Enable Audit Logs for a CSS Cluster?",
"uri":"css_02_0150.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"208"
+ "p_code":"224",
+ "code":"233"
},
{
"desc":"To stop a CSS cluster, you delete it. If you want to stop a cluster upon completion of a cluster migration, stop all services in the source cluster, and confirm that all ",
@@ -1877,26 +2102,35 @@
"title":"Can I Stop a CSS Cluster?",
"uri":"css_02_0121.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"209"
+ "p_code":"224",
+ "code":"234"
},
{
"desc":"The size of indexes remains unchanged after freezing. By querying the size of frozen indexes in OBS, you obtain the size of all indexes stored on OBS.Run the following co",
"product_code":"css",
"title":"How Do I Query the Index Size on OBS After the Freezing of Indexes for a CSS Cluster?",
- "uri":"en-us_topic_0000001936831250.html",
+ "uri":"css_02_0151.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"210"
+ "p_code":"224",
+ "code":"235"
},
{
- "desc":"Default plugins are available for the Elasticsearch and OpenSearch clusters in CSS. You can check the default plugins on the CSS web console or on Kibana or OpenSearch Da",
+ "desc":"Default plugins are available for the Elasticsearch and OpenSearch clusters in CSS. You can check them on the CSS management console or query them by running commands on ",
"product_code":"css",
- "title":"How Do I Check the List of Default Plugins for Elasticsearch and OpenSearch Clusters?",
- "uri":"en-us_topic_0000001978134941.html",
+ "title":"How Do I Check the List of Default Plugins for a CSS Cluster?",
+ "uri":"css_02_0078.html",
"doc_type":"usermanual",
- "p_code":"200",
- "code":"211"
+ "p_code":"224",
+ "code":"236"
+ },
+ {
+ "desc":"Before importing data to a cluster, carefully consider your service needs and plan the cluster's data structure and distribution in advance. This includes properly design",
+ "product_code":"css",
+ "title":"How Do I Plan the Quantity of Index Shards for a Cluster?",
+ "uri":"css_02_0084.html",
+ "doc_type":"usermanual",
+ "p_code":"224",
+ "code":"237"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -1904,26 +2138,26 @@
"title":"CSS Cluster Backup and Restoration",
"uri":"css_02_0147.html",
"doc_type":"usermanual",
- "p_code":"170",
- "code":"212"
+ "p_code":"195",
+ "code":"238"
},
{
- "desc":"The snapshot function has been enabled for the cluster and snapshot information has been configured.Log in to the CSS management console, and click Clusters in the naviga",
+ "desc":"You can query snapshot information only if cluster snapshots are enabled and some snapshots have been created.You can check them on the CSS management console or query th",
"product_code":"css",
- "title":"How Do I Query Snapshot Information of a Cluster in CSS?",
+ "title":"How Do I Query the Snapshot Information of a CSS Cluster?",
"uri":"css_02_0043.html",
"doc_type":"usermanual",
- "p_code":"212",
- "code":"213"
+ "p_code":"238",
+ "code":"239"
},
{
- "desc":"Yes. You can use a snapshot stored in OBS to restore a cluster. A deleted cluster that has no snapshots in OBS cannot be restored. Exercise caution when deleting a cluste",
+ "desc":"For a deleted Elasticsearch or OpenSearch, if it still has snapshots stored in OBS, it can be restored using these snapshots. Otherwise, it cannot be restored. Therefore,",
"product_code":"css",
"title":"Can a Deleted CSS Cluster Be Restored?",
"uri":"css_02_0120.html",
"doc_type":"usermanual",
- "p_code":"212",
- "code":"214"
+ "p_code":"238",
+ "code":"240"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -1931,8 +2165,17 @@
"title":"CSS Cluster Monitoring and O&M",
"uri":"css_02_0148.html",
"doc_type":"usermanual",
- "p_code":"170",
- "code":"215"
+ "p_code":"195",
+ "code":"241"
+ },
+ {
+ "desc":"The slow query log settings of CSS are the same as those of Elasticsearch. You can configure slow query logs via the _settings API. For example, you can run the following",
+ "product_code":"css",
+ "title":"How Do I Set Slow Query Log Thresholds for an Elasticsearch Cluster of CSS?",
+ "uri":"css_02_0096.html",
+ "doc_type":"usermanual",
+ "p_code":"241",
+ "code":"242"
},
{
"desc":"The cluster monitoring result shows that the average memory usage of a cluster is 98%. Does it affect cluster performance?In an Elasticsearch cluster, 50% of the memory i",
@@ -1940,34 +2183,34 @@
"title":"What Do I Do If the Average Memory Usage of a CSS Cluster Reaches 98%?",
"uri":"css_02_0131.html",
"doc_type":"usermanual",
- "p_code":"215",
- "code":"216"
+ "p_code":"241",
+ "code":"243"
},
{
- "desc":"You can view the disk usage of a cluster on the Cluster Information page.Log in to the CSS management console.Choose ClustersElasticsearch. The cluster list is displayed.",
+ "desc":"Log in to the CSS management console.In the navigation pane on the left, expand Clusters. Select a cluster type based on the target cluster. The cluster list is displayed",
"product_code":"css",
"title":"How Do I Check the Total Disk Usage of a CSS Cluster?",
"uri":"css_02_0136.html",
"doc_type":"usermanual",
- "p_code":"215",
- "code":"217"
+ "p_code":"241",
+ "code":"244"
},
{
- "desc":"According to the cluster monitoring information, the disk usage of an Elasticsearch cluster exceeds 80%. Does it affect cluster performance?When the disk usage of a node ",
+ "desc":"According to the cluster monitoring information, the disk usage of some individual nodes of an Elasticsearch cluster exceeds 80%. Does it impact cluster performance?When ",
"product_code":"css",
"title":"Will CSS Cluster Services Be Affected If the Disk Usage of a Single Node Gets Too High?",
"uri":"css_02_0135.html",
"doc_type":"usermanual",
- "p_code":"215",
- "code":"218"
+ "p_code":"241",
+ "code":"245"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"product_code":"css",
"title":"Change History",
- "uri":"en-us_topic_0000001972160305.html",
+ "uri":"css_01_0055.html",
"doc_type":"usermanual",
"p_code":"",
- "code":"219"
+ "code":"246"
}
]
\ No newline at end of file
diff --git a/docs/css/umn/en-us_topic_0000001944960892.html b/docs/css/umn/css_00_0001.html
similarity index 83%
rename from docs/css/umn/en-us_topic_0000001944960892.html
rename to docs/css/umn/css_00_0001.html
index 246416187..2d41e4f45 100644
--- a/docs/css/umn/en-us_topic_0000001944960892.html
+++ b/docs/css/umn/css_00_0001.html
@@ -15,11 +15,13 @@
Differences Between Elasticsearch Cluster Versions
+Differences Between Elasticsearch and OpenSearch
+
Permissions Management
Constraints
-Performance Metrics
+Performance Metrics
Related Services
diff --git a/docs/css/umn/en-us_topic_0000001945121184.html b/docs/css/umn/css_00_0002.html
similarity index 51%
rename from docs/css/umn/en-us_topic_0000001945121184.html
rename to docs/css/umn/css_00_0002.html
index 253bec717..5c6c7ef32 100644
--- a/docs/css/umn/en-us_topic_0000001945121184.html
+++ b/docs/css/umn/css_00_0002.html
@@ -5,9 +5,9 @@
diff --git a/docs/css/umn/en-us_topic_0000001944961884.html b/docs/css/umn/css_00_0003.html
similarity index 100%
rename from docs/css/umn/en-us_topic_0000001944961884.html
rename to docs/css/umn/css_00_0003.html
diff --git a/docs/css/umn/css_01_0001.html b/docs/css/umn/css_01_0001.html
new file mode 100644
index 000000000..494d93003
--- /dev/null
+++ b/docs/css/umn/css_01_0001.html
@@ -0,0 +1,166 @@
+
+
+Planning Cluster AZs and HA
+This topic describes how to improve cluster availability by deploying a cluster across multiple AZs, including the rules for distributing cluster nodes among AZs, the recommended number of replicas, and policies for handling AZ failures.
+
An availability zone (AZ) is a physical region where resources use independent power supplies and networks. AZs in the same region can communicate with each other through internal networks but are physically isolated.
+
Multi-AZ deployment is a high availability feature provided by CSS. Deploying a cluster across two or three AZs located in the same region can help prevent data loss and lower the possibility of service outages.
+
Suggestions on Multi-AZ Deployment
If you select multi-AZ deployment when creating a cluster, CSS automatically enables cross-AZ HA to ensure that cluster nodes will be evenly distributed across the selected AZs (the difference between the number of nodes in each AZ cannot exceed 1).
+
You are advised to select three AZs, instead of two AZs, for multi-AZ deployment. If only two AZs are selected and one AZ becomes faulty, the cluster may not be able to elect a master node. As a result, the cluster may become unavailable.
+
+
Node Distribution Rules
When a multi-AZ cluster is created, nodes of all types are evenly distributed across different AZs. A maximum of three AZs can be used. Table 1 shows the node distribution when the number of AZs varies.
+
- When creating a multi-AZ cluster, ensure that the number of selected nodes of any type is greater than or equal to the number of AZs. Otherwise, multi-AZ cluster deployment will fail.
- If the number of data nodes or cold data nodes in a cluster is not divisible by the number of AZs, data in the cluster may be unevenly distributed, affecting data query or write performance.
+
+
+
Table 1 Node distribution when the numbers of nodes and AZs varyNode Quantity
+ |
+Single AZ
+ |
+Two AZs
+ |
+Three AZs
+ |
+
+AZ1
+ |
+AZ1
+ |
+AZ2
+ |
+AZ1
+ |
+AZ2
+ |
+AZ3
+ |
+
+1
+ |
+1
+ |
+Not supported
+ |
+Not supported
+ |
+
+2
+ |
+2
+ |
+1
+ |
+1
+ |
+Not supported
+ |
+
+3
+ |
+3
+ |
+2
+ |
+1
+ |
+1
+ |
+1
+ |
+1
+ |
+
+4
+ |
+4
+ |
+2
+ |
+2
+ |
+2
+ |
+1
+ |
+1
+ |
+
+...
+ |
+...
+ |
+...
+ |
+...
+ |
+...
+ |
+...
+ |
+...
+ |
+
+
+
+
+
+
Replica Configuration Suggestions
For a multi-AZ cluster, configure the number of index replicas in a manner that can better capitalize on the high availability that comes with such as deployment.
+
- With a dual-AZ deployment, if one AZ becomes unavailable, the other AZ continues to provide services. In this case, configure at least one replica. If higher query performance is desired, you can increase the number of replicas.
- In the case of a three-AZ deployment, if one AZ becomes unavailable, the other AZs can continue to provide services. In this case, also configure at least one replica. To enhance the cluster's query performance, increase the number of replicas.
+
For Elasticsearch and OpenSearch clusters, the default number of index replicas is 1. To enable more replicas, modify settings. The following are two examples.
+
- Adjust the number of replicas for an existing index:
curl -XPUT http://ip:9200/{index_name}/_settings -d '{"number_of_replicas":2}'
+ - Set the number of replicas for new indexes using a template:
curl -XPUT http://ip:9200/_template/templatename -d '{ "template": "*", "settings": {"number_of_replicas": 2}}'
+
+
where, ip indicates the private IP address of the cluster; index_name indicates the index name; templatename indicates the template name; template indicates the index name matching rule (meaning the template will automatically apply to indexes that match this rule. The asterisk (*) indicates that the template will apply to all new indexes); and number_of_replicas indicates the number of index replicas to change to. In this example, the number of index replicas is changed to 2.
+
+
Service Outage Pattern Analysis
Master nodes manage cluster-wide operations, including metadata, indexes, and shard allocation. In a cluster with master nodes, the master nodes perform these tasks. In a cluster without them, data nodes and cold data nodes share the responsibilities of the master nodes.
+
In the case of a single AZ failure, if fewer than half (including half) of the nodes assuming master node responsibilities are still available, service availability will be affected. In this case, you need to restore services by referring to Table 2.
+
For example, a cluster has three master nodes distributed in two AZs. If the AZ that contains one master node becomes unavailable while the other AZ remains available, services will still be available. However, if it is the other AZ, which contains two of the three master nodes, that fails, services will be interrupted, because fewer than half of the master nodes (or nodes that assume master node responsibilities) are available. In this case, restore services by referring to Table 2.
+
+
Table 2 Possible service outage patterns in the face of the failure of a single AZNumber of AZs
+ |
+Number of Master Nodes
+ |
+Service Outage Patterns and Handling Suggestions
+ |
+
+
+2
+ |
+0 (In this case, data nodes and cold data nodes share the responsibilities of master nodes.)
+ |
+- If the number of data nodes plus cold data nodes is an even number:
If half of the nodes become unavailable due to the failure of a single AZ, you must add one node to the still available AZ to ensure a master node can be elected for the cluster. To add nodes to your cluster, contact technical support.
+ - If the number of data nodes plus cold data nodes is an old number:
- If the failed AZ is the one that has one more node, you must add two nodes to the surviving AZ to ensure a master node can be elected for the cluster. To add nodes to your cluster, contact technical support.
- If the failed AZ is the other one—the one that has one less node, services will not be interrupted and a master node can be elected.
+
+ |
+
+2
+ |
+3
+ |
+There is a 50% chance of service interruption when one AZ fails. In this situation, one AZ has two master nodes, and the other has one:
+- If the AZ that has one master node fails while the other AZ remains available, two master nodes are still available, so a master node can be elected from among them. In this case, services remain available.
- If the failed AZ is the other one, only one master node survives, in which case, no master node can be elected, and services will be interrupted. In this case, contact technical support.
+ |
+
+3
+ |
+0 (In this case, data nodes and cold data nodes share the responsibilities of master nodes.)
+ |
+There is a small chance of service interruption when a single node fails. However, there is one high-risk scenario: If the cluster spans three AZs and the total number of data nodes plus cold data nodes is 4, so the node distribution across the three AZs is 2-1-1, the failure of the AZ containing two nodes will cause a service interruption. To avoid this, avoid selecting four nodes for a three-AZ cluster.
+ |
+
+3
+ |
+3
+ |
+A single AZ failure will not result in service interruptions.
+ |
+
+
+
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0002.html b/docs/css/umn/css_01_0002.html
new file mode 100644
index 000000000..91bcf26f5
--- /dev/null
+++ b/docs/css/umn/css_01_0002.html
@@ -0,0 +1,133 @@
+
+
+Procedure for Using Elasticsearch
+
+
Table 1 Procedure for using an Elasticsearch clusterCategory
+ |
+Operation
+ |
+Details
+ |
+
+
+Use
+ |
+Planning a cluster
+ |
+Before creating an Elasticsearch cluster, develop a plan for it, such as whether to deploy the cluster across multiple AZs to improve availability; the node quantity and specifications; the cluster version and security mode; and index sharding, in order to ensure the desired performance and reliability.
+ |
+Elasticsearch Cluster Planning Suggestions
+ |
+
+Creating a cluster
+ |
+Create an Elasticsearch cluster based on the plan.
+ |
+Creating an Elasticsearch Cluster
+ |
+
+Accessing a cluster
+ |
+There are many ways to access an Elasticsearch cluster, such as Kibana, Cerebro, open-source APIs, Java, Python, and Go clients, as well as multiple network configurations over an intranet and the public network. You can select the most appropriate access method based on the programming language you prefer as well as your network environment.
+ |
+Elasticsearch Cluster Access Methods
+ |
+
+Importing data
+ |
+There are many ways to import data to an Elasticsearch cluster, including Logstash, open-source Elasticsearch APIs, Cloud Data Migration (CDM), and Data Replication Service (DRS), with support for different data sources and formats, as well as real-time synchronization for relational databases. You can select the best way for yourself based on your use case and the characteristics of your data.
+ |
+Different Ways to Ingest Data into an Elasticsearch Cluster
+ |
+
+Searching for data
+ |
+With CSS, you are advised to use DSL for data search in Elasticsearch clusters. You may also use SQL.
+ |
+Using DSL to Search for Data in Elasticsearch
+Using SQL to Search for Data in Elasticsearch
+ |
+
+Enhancing the cluster's search capability
+ |
+On top of the open-source version, CSS's Elasticsearch clusters offer a range of enhanced features, including vector search, storage-compute decoupling, flow control, large query isolation, aggregation enhancement, read/write splitting, switchover between hot and cold data storage classes, and index recycle bin. These features help you meet performance and cost optimization requirements for different use cases, while enhancing the service's cluster stability and search capability.
+ |
+Search Enhancement Features for Elasticsearch Clusters
+ |
+
+O&M
+ |
+Backup and restoration
+ |
+Snapshots can be created to back up the data of an Elasticsearch cluster, so that data can be quickly restored in the case of accidental data loss or in case historical data is needed, improving cluster data availability.
+ |
+Creating Snapshots to Back Up the Data of an Elasticsearch Cluster
+Restoring the Data of an Elasticsearch Cluster Using a Snapshot
+ |
+
+Scaling a cluster
+ |
+CSS provides flexible scale-out and scale-in options, using which you can add or reduce nodes (either randomly or with specified nodes), add node types, and increase or reduce node specifications. This allows you to dynamically adjust cluster resources to meet changing demand and optimize costs.
+ |
+Scaling Out/Up an Elasticsearch Cluster
+Scaling In/Down an Elasticsearch Cluster
+ |
+
+Upgrade
+ |
+Elasticsearch clusters support same-version upgrade, cross-version upgrade, and cross-engine upgrade. Same-version upgrade means to upgrade the kernel patches to fix problems or optimize performance. Cross-version upgrade means to upgrade the cluster version to enhance functionality or incorporate versions. Cross-engine upgrade means to upgrade an Elasticsearch cluster to an OpenSearch cluster.
+ |
+Upgrading the Version of an Elasticsearch Cluster
+ |
+
+Managing clusters
+ |
+CSS provides comprehensive cluster management functions. Users can view cluster information, authorize cluster access, change the cluster's security mode, manage tags, replace nodes, bind clusters with enterprise projects, switches AZs, and configure custom word dictionaries for Elasticsearch clusters. They help users efficiently manage Elasticsearch clusters and ensure cluster security, high availability, and optimized performance.
+ |
+Viewing Elasticsearch Cluster Information
+Creating Users for an Elasticsearch Cluster and Granting Cluster Access
+Setting Tags for an Elasticsearch Cluster
+Configuring Default Parameters in the .yml Configuration File of an Elasticsearch Cluster
+Associating an Elasticsearch Cluster with an Enterprise Project
+Replacing a Specified Node for an Elasticsearch Cluster
+Changing the Security Mode of an Elasticsearch Cluster
+Switching AZs for an Elasticsearch Cluster
+Managing Failed Tasks for Elasticsearch Clusters
+Restarting an Elasticsearch Cluster
+Deleting an Elasticsearch Cluster
+ |
+
+Managing cluster index policies
+ |
+The Index State Management (ISM) plug-in of Elasticsearch can be used to create and manage index lifecycle policies. These policies help automate index rollovers and deletions, helping optimize cluster performance and cut storage costs.
+ |
+Creating and Managing Index Policies for an Elasticsearch Cluster
+ |
+
+Monitoring and log management
+ |
+CSS provides comprehensive monitoring and log management functions. Users can configure and check monitoring metrics for clusters and nodes, configure alarm rules, and back up and view logs. Intelligent O&M tools help users efficiently monitor, analyze, and maintain Elasticsearch clusters and ensure cluster stability and performance.
+ |
+Elasticsearch Cluster Monitoring Metrics
+Configuring Elasticsearch Cluster Monitoring
+Setting Alarm Alerting via SMN for an Elasticsearch Cluster
+Managing Elasticsearch Cluster Logs
+ |
+
+Audit logs
+ |
+Cloud Trace Service (CTS) can be used to log mission-critical operations related to Elasticsearch clusters. Used for auditing and accountability purposes, these log records are retained for seven days on the management console.
+ |
+Viewing Elasticsearch Cluster Audit Logs
+ |
+
+
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0004.html b/docs/css/umn/css_01_0004.html
new file mode 100644
index 000000000..6ce52dbd3
--- /dev/null
+++ b/docs/css/umn/css_01_0004.html
@@ -0,0 +1,23 @@
+
+
+Importing Data to an Elasticsearch Cluster
+
+
+
diff --git a/docs/css/umn/css_01_0005.html b/docs/css/umn/css_01_0005.html
new file mode 100644
index 000000000..c7c318212
--- /dev/null
+++ b/docs/css/umn/css_01_0005.html
@@ -0,0 +1,53 @@
+
+
+Different Ways to Ingest Data into an Elasticsearch Cluster
+Introduction
Elasticsearch clusters support multiple data ingestion methods, as listed in Table 1. Select one that fits your needs the best. Before starting to ingest data, determine whether to enhance the data ingestion performance of Elasticsearch clusters first. For details, see Enhancing the Data Ingestion Performance of Elasticsearch Clusters.
+
+
Table 1 Different ways to ingest data into an Elasticsearch clusterData Ingestion Method
+ |
+Scenario
+ |
+Supported Data Formats/Sources
+ |
+Details
+ |
+
+
+Open-source Logstash
+ |
+Open-source Logstash offers a server-side, real-time data processing pipeline, which supports data ingestion from multiple sources. It can be used to ingest various types of data, such as logs, monitoring data, and metrics.
+ |
+JSON, CSV, and text
+ |
+Using In-house Built Logstash to Import Data to Elasticsearch
+ |
+
+Open-source Elasticsearch API
+ |
+Open-source Elasticsearch APIs can be used to ingest data. This method is flexible, as you can write your own application code.
+ |
+JSON
+ |
+Using Open Source Elasticsearch APIs to Import Data to Elasticsearch
+ |
+
+Cloud Data Migration (CDM)
+ |
+You can use CDM for batch data migration. For example, if data is stored in OBS or an Oracle database, CDM is recommended.
+ |
+JSON
+ |
+Using CDM to Import Data to Elasticsearch
+ |
+
+
+
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0398.html b/docs/css/umn/css_01_0006.html
similarity index 67%
rename from docs/css/umn/css_01_0398.html
rename to docs/css/umn/css_01_0006.html
index c2ab4c090..9a069c136 100644
--- a/docs/css/umn/css_01_0398.html
+++ b/docs/css/umn/css_01_0006.html
@@ -1,14 +1,14 @@
-
+
Searching Data in an Elasticsearch Cluster
-
+
-- Using DSL to Search for Data in Elasticsearch
+ - Using DSL to Search for Data in Elasticsearch
- Using SQL to Search for Data in Elasticsearch
diff --git a/docs/css/umn/css_01_0007.html b/docs/css/umn/css_01_0007.html
new file mode 100644
index 000000000..1f0e5c095
--- /dev/null
+++ b/docs/css/umn/css_01_0007.html
@@ -0,0 +1,79 @@
+
+
+Using DSL to Search for Data in Elasticsearch
+DSL is the specified query language for Elasticsearch. It is the best language for interaction between Elasticsearch clusters and clients. Elasticsearch DSL is a JSON-based language. Other languages, such as SQL, are translated into Elasticsearch DSL before they can be used for interacting with Elasticsearch clusters.
+
This topic lists some of the most commonly used Elasticsearch DSL query statements. For more, see Query DSL.
+
DSL Usage Example
Compile the request content in JSON format on the Dev Tools page of Kibana and execute the search request.
+
For example, run the following command to retrieve all documents in the test index:
+
| GET /test/_search
+{
+ "query": {
+ "match_all": {}
+ }
+}
+ |
+
+
The search result is also in JSON format.
+
+
Common DSL Query Statements
- Sets the query filters, which is equivalent to where in the SQL language.
In the command below, there is no index filter in front of _search, so all indexes are queried. A bool query allows you to combine multiple search queries with boolean conditions. filter forcibly filters documents whose status field is published and publish_date is later than 2015-01-01. must specifies that both title and content must include Search.
+
The difference between must and filter is that filter is equivalent to where in SQL but its results are not used for scoring. The must field is also a mandatory filter criteria, but the matching documents are scored based on relevance. The most relevant documents are displayed at the top.
+
+GET /_search
+{
+ "query": {
+ "bool": {
+ "must": [
+ {
+ "match": {
+ "title": "Search"
+ }
+ },
+ {
+ "match": {
+ "content": "search"
+ }
+ }
+ ],
+ "filter": [
+ {
+ "term": {
+ "status": "published"
+ }
+ },
+ {
+ "range": {
+ "publish_date": {
+ "gte": "2015-01-01"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
+ - Aggregations are similar to Group by in SQL.
An aggregation summarizes your data as metrics, statistics, or other analytics. In the example below, the results are aggregated based on the title field in the test index. If title is of the text (including keyword) type, use title.keyword for aggregation. By default, a cluster cannot directly aggregate data of the text type. titles is only an example name of the aggregation. You can name the aggregation titleaggs instead.
+GET /test/_search
+{
+ "aggs": {
+ "titles": {
+ "terms": {
+ "field": "title.keyword"
+ }
+ }
+ }
+}
+The example above for query aggregation includes all documents in the test index. That is, match_all is used. You can set search criteria to narrow the scope of the aggregation to specific documents.
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0008.html b/docs/css/umn/css_01_0008.html
new file mode 100644
index 000000000..a50993e38
--- /dev/null
+++ b/docs/css/umn/css_01_0008.html
@@ -0,0 +1,195 @@
+
+
+Planning the Cluster Version and Security Mode
+This topic introduces different Elasticsearch cluster versions, including features supported by each version and its application scenarios. It also describes the characteristics and application scenarios of different cluster security modes (including different application-layer protocols).
+
Introduction to Different Cluster Versions
When selecting an Elasticsearch cluster version, consider factors such as service requirements, available features, performance, security updates, and long-term support, ensuring that the selected version can meet both current and future needs and provide a stable, secure environment for your data.
+
- If you are deploying CSS Elasticsearch clusters for the first time, you are advised to use the latest version.
- If you are migrating an in-house built or third-party Elasticsearch cluster to CSS without altering the cluster, keep the version of the source cluster.
- If you are migrating an in-house built or third-party Elasticsearch cluster to CSS while recoding it, choose Elasticsearch 7.10.2.
+
+
+
+
Cluster Security Modes
Configure the security mode based on the security needs of your cluster.
+
Table 2 Cluster security modesCluster Type
+ |
+Key Settings
+ |
+Description
+ |
+Applicable Scenario
+ |
+
+
+Non-security mode cluster
+ |
+Security Mode: disabled
+ |
+Access to such a cluster requires no user authentication, and data will be transmitted in plaintext using HTTP.
+ |
+Use when creating a cluster for internal testing or workloads that have a low security standard.
+- Advantage: easy to access the cluster.
- Disadvantage: poor security, as anyone can access the cluster. When the security mode is disabled, public network access and Kibana public network access cannot be enabled.
+Make sure the cluster is deployed in a secure environment. Do not expose the cluster's network interface to the public network.
+ |
+
+Security-mode cluster
+ |
+Security-mode cluster + HTTP:
+- Security Mode: enabled
- HTTPS Access: disabled
+ |
+Such a cluster requires user authentication. It supports access control and data encryption, and it uses HTTP to transmit data in plaintext.
+ |
+Use to balance security and performance.
+- Advantage: User authentication improves cluster security. HTTP-based access ensures high performance of the cluster. User permissions can be configured to ensure proper isolation.
- Disadvantage: Public network access is not supported.
+Make sure the cluster is deployed in a secure environment. Do not expose the cluster's network interface to the public network.
+ |
+
+Security-mode cluster + HTTPS:
+- Security Mode: enabled
- HTTPS Access: enabled
+ |
+Such a cluster requires user authentication. It supports access control and data encryption, and it uses HTTPS to encrypt communication and enhance data security.
+ |
+Use when security takes precedence over performance and public network access is required.
+- Advantage: User authentication improves cluster security. HTTPS enhances cluster security by encrypting all communication over the public network. User permissions can be configured to ensure proper isolation.
- Disadvantage: When HTTPS is used, data encryption and decryption introduce computational overhead and impact the cluster's read and write performance.
+ |
+
+
+
+
+
+
To access a security-mode cluster, a username and password need to be provided. CSS supports authentication for the following two types of users:
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0009.html b/docs/css/umn/css_01_0009.html
index 97d6d29eb..d26e66066 100644
--- a/docs/css/umn/css_01_0009.html
+++ b/docs/css/umn/css_01_0009.html
@@ -1,22 +1,22 @@
-
+
Managing Elasticsearch Clusters
-- Viewing Elasticsearch Cluster Information
+ - Viewing Elasticsearch Cluster Information
-- Creating Users for an Elasticsearch Cluster and Granting Cluster Access
+ - Creating Users for an Elasticsearch Cluster and Granting Cluster Access
- Setting Tags for an Elasticsearch Cluster
- Configuring Default Parameters in the .yml Configuration File of an Elasticsearch Cluster
-- Binding an Elasticsearch Cluster to an Enterprise Project
+ - Associating an Elasticsearch Cluster with an Enterprise Project
-- Changing the Node Specifications of an Elasticsearch Cluster
+ - Changing the Node Specifications and Storage Type of an Elasticsearch Cluster
-- Replacing Specified Nodes for an Elasticsearch Cluster
+ - Replacing a Specified Node for an Elasticsearch Cluster
- Changing the Security Mode of an Elasticsearch Cluster
diff --git a/docs/css/umn/css_01_0411.html b/docs/css/umn/css_01_0010.html
similarity index 51%
rename from docs/css/umn/css_01_0411.html
rename to docs/css/umn/css_01_0010.html
index 51220b3b7..2e6ef021d 100644
--- a/docs/css/umn/css_01_0411.html
+++ b/docs/css/umn/css_01_0010.html
@@ -1,18 +1,20 @@
-
+
Configuring Networking for an Elasticsearch Cluster
-
+
diff --git a/docs/css/umn/css_01_0414.html b/docs/css/umn/css_01_0012.html
similarity index 60%
rename from docs/css/umn/css_01_0414.html
rename to docs/css/umn/css_01_0012.html
index 6254bf677..be8249b9e 100644
--- a/docs/css/umn/css_01_0414.html
+++ b/docs/css/umn/css_01_0012.html
@@ -1,13 +1,13 @@
-
+
Scaling an Elasticsearch Cluster
-
+
diff --git a/docs/css/umn/css_01_0013.html b/docs/css/umn/css_01_0013.html
new file mode 100644
index 000000000..c7c28e4e3
--- /dev/null
+++ b/docs/css/umn/css_01_0013.html
@@ -0,0 +1,112 @@
+
+
+
Search Enhancement Features for Elasticsearch Clusters
+
Compared with open-source Elasticsearch, Elasticsearch clusters in CSS have many enhanced features. Table 1 lists these enhanced features and the corresponding cluster versions.
+
+
Table 1 Search enhancement features for CSS Elasticsearch clustersEnhanced Feature
+ |
+Description
+ |
+Cluster Version
+ |
+Details
+ |
+
+
+Vector search
+ |
+Unstructured data, such as images, videos, and language corpora, is converted into vectors, which are searched based on similarity using either an exact or approximate nearest neighbors algorithm.
+ |
+Elasticsearch 7.6.2, Elasticsearch 7.10.2
+ |
+Configuring Vector Search for Elasticsearch Clusters
+ |
+
+Storage-compute decoupling
+ |
+Hot data that is frequently accessed is stored in high-performance storage media, while cold data that is infrequently accessed is migrated to low-cost storage media — Object Storage Service (OBS). This ensures real-time query performance for hot data while reducing long-term storage costs.
+Compared with cold/hot storage switchover, storage-compute decoupling is a better option for use cases that are not particularly demanding in terms of search performance, as cold data is stored in OBS, which cuts storage costs.
+ |
+Elasticsearch 7.6.2, Elasticsearch 7.10.2
+ |
+Configuring Decoupled Storage and Compute for an Elasticsearch Cluster
+ |
+
+Flow Control 2.0
+ |
+Protects clusters from overload through flow control policies, such as client request throttling, shard indexing backpressure, and traffic pattern analysis, ensuring proper resource allocation and risk prevention.
+ NOTE: Elasticsearch 7.6.2 and Elasticsearch 7.10.2 clusters created after January 2023 support Flow Control 2.0 only, whereas those created before that support Flow Control 1.0 only.
+
+ |
+Elasticsearch 7.6.2, Elasticsearch 7.10.2
+ |
+Configuring Flow Control 2.0 for an Elasticsearch Cluster
+ |
+
+Flow Control 1.0
+ |
+Flow Control 1.0 controls traffic at the node level. You can configure blacklists and whitelists per node, the maximum concurrent HTTP connections allowed, the maximum HTTP connections allowed, the maximum heap memory used by specific request paths, and the maximum CPU usage. You can block access in one click, and collect statistics on IP addresses and URLs accessing the nodes. If flow control is enabled, requests will be blocked at the entry, which alleviates the cluster pressure in high-concurrency scenarios and reduces the likelihood of unavailability issues.
+ NOTE: Elasticsearch 7.6.2 and Elasticsearch 7.10.2 clusters created after January 2023 support Flow Control 2.0 only, whereas those created before that support Flow Control 1.0 only.
+
+ |
+Elasticsearch 7.6.2, Elasticsearch 7.10.2
+ |
+Configuring Flow Control 1.0 for an Elasticsearch Cluster
+ |
+
+Large query isolation
+ |
+You can isolate query requests that consume a large amount of memory or take a long period of time. This way, you ensure service availability for other requests. If the heap memory usage of a node is too high, an interrupt control program will be triggered to terminate a large query based on the policies you configured. You can also configure a global query timeout duration. Long queries will be intercepted by an Elasticsearch-native cancel API.
+ |
+Elasticsearch 7.6.2, Elasticsearch 7.10.2
+ |
+Configuring Large Query Isolation for an Elasticsearch Cluster
+ |
+
+Enhanced aggregation
+ |
+Enhances aggregation performance in the face of large data volumes by leveraging vectorization and optimized clustering, enabling faster analytics and decision-making in complex situations.
+ |
+Elasticsearch 7.10.2
+ |
+Configuring Enhanced Aggregation for an Elasticsearch Cluster
+ |
+
+Read/write splitting
+ |
+Directs writes to the leader cluster and queries to the follower cluster. This separation of workloads enhances the stability, scalability, and high-concurrency processing capabilities of clusters.
+ |
+Elasticsearch 7.6.2, Elasticsearch 7.10.2
+ |
+Configuring Read/Write Splitting Between Two Elasticsearch Clusters
+ |
+
+Switchover between hot and cold storage
+ |
+Switching between hot and cold storage means to allocate data to nodes of different performance standards based on data temperature (that is, how often data is accessed). Typically, high-performance hardware (such as SSDs) is used to store hot data (real-time data) that is frequently accessed, while inexpensive hardware (such as HDDs) is used to store cold data (historical data) that is infrequently accessed. The goal is to achieve optimal storage costs and query performance.
+Compared with storage-compute decoupling, cold/hot storage switchover is a better option for use cases that are demanding in terms of search performance. Cold data is stored on local cold data nodes in the cluster. The storage capacity available depends on the number of cold data nodes and their disk capacity. The storage cost is higher than that of OBS.
+ |
+This feature is supported as long as the cluster has cold data nodes.
+ |
+Switching Between Hot and Cold Storage for an Elasticsearch Cluster
+ |
+
+Index recycle bin
+ |
+Similar to any other type of recycle bin, the index recycle bin temporarily stores deleted indexes so that users can restore them before they are finally removed from the recycle bin. This helps to prevent misdeletion of data and improve cluster data reliability.
+ |
+Elasticsearch 7.10.2
+ |
+Configuring an Index Recycle Bin for an Elasticsearch Cluster
+ |
+
+
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0014.html b/docs/css/umn/css_01_0014.html
index 19d6eae4a..b1bb2d94f 100644
--- a/docs/css/umn/css_01_0014.html
+++ b/docs/css/umn/css_01_0014.html
@@ -1,74 +1,73 @@
-
+
Restarting an Elasticsearch Cluster
-
If an Elasticsearch cluster has stopped working, you can try to recover it by restarting it. Two restart options are available: quick restart and rolling restart. You are advised to perform the restart during off-peak hours.
-
Constraints
- Avoid restarting a cluster during peak hours, as doing so may impact data integrity and service availability.
- During a quick restart, the cluster is unavailable for the entire duration of the restart.
- Rolling restart is supported only for clusters with three or more nodes, including the master node, client node, and cold data nodes. During a rolling restart, only the nodes that are being restarted are unavailable. When the cluster stores a large amount of data, the restart may take a long time.
+
If an Elasticsearch cluster has stopped working, you can try to recover it by restarting it. Two restart options are available: quick restart and rolling restart. You are advised to perform the restart during off-peak hours.
+
Constraints
- Avoid restarting a cluster during peak hours, as doing so may impact data integrity and service availability.
- During a quick restart, the cluster is unavailable for the entire duration of the restart.
- Rolling restart is supported only for clusters with three or more nodes, including the master node, client node, and cold data nodes. During a rolling restart, only the nodes that are being restarted are unavailable. When the cluster stores a large amount of data, the restart may take a long time.
-
Prerequisites
- The cluster you want to restart is not frozen and has no task in progress.
- The cluster is available and is not processing any service requests, such as importing and searching for data. Otherwise, data loss may occur during a cluster restart.
+
Prerequisites
- The cluster you want to restart is not frozen and has no task in progress.
- The cluster is available and is not processing any service requests, such as importing and searching for data. Otherwise, data loss may occur during a cluster restart.
-
Quick Restart
- Log in to the CSS management console.
- In the navigation pane on the left, expand Clusters and select a cluster type. A cluster list is displayed.
- Locate the target cluster and click More > Restart in the Operation column.
- On the Restart Cluster page, set parameters.
-
Table 1 Configuring a quick restartParameter
+Quick Restart- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, find the target cluster, and choose More > Restart in the Operation column.
- On the Restart Cluster page, set parameters.
+
Table 1 Configuring a quick restartParameter
|
-Description
+ | Description
|
-Restart Mode
+ | Restart Mode
|
-Select Quick Restart.
- NOTE: The cluster will be unavailable for the entire duration of a quick restart.
+ Select Quick Restart.
+ WARNING: The cluster will be unavailable for the entire duration of a quick restart.
|
|
-Operation Role
+ | Operation Role
|
-Select Node type or Node name.
-- Node type: You can select multiple node types to restart them at the same time.
- Node name: You can restart only one node at a time.
+ | Select Node type or Node name.
+- Node type: You can select multiple node types to restart them at the same time.
- Node name: You can restart only one node at a time.
|
-Operation Value
+ | Operation Value
|
-Select one or more node types or a node name, depending on the setting of Operation Role.
-Values for Node type:
-- ess: data node
- ess-master: master node
- ess-client: client node
- ess-cold: cold data node
+ | Select one or more node types or a node name, depending on the setting of Operation Role.
+Values for Node type:
+- ess: data node
- ess-master: master node
- ess-client: client node
- ess-cold: cold data node
|
- - Click OK to start the restart task.
Refresh the page and check the cluster status. During the restart, the cluster status is Processing, and the task status is Restarting. When the cluster status changes to Available, the cluster has restarted successfully.
+ - Click OK to start the restart task.
Refresh the page and check the cluster status. During the restart, the cluster status is Processing, and the task status is Restarting. When the cluster status changes to Available, the cluster has restarted successfully.
-Rolling Restart- Log in to the CSS management console.
- In the navigation pane on the left, expand Clusters and select a cluster type. A cluster list is displayed.
- Locate the target cluster and click More > Restart in the Operation column.
- On the Restart Cluster page, set parameters.
-
Table 2 Configuring a rolling restartParameter
+Rolling Restart- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, find the target cluster, and choose More > Restart in the Operation column.
- On the Restart Cluster page, set parameters.
+
Table 2 Configuring a rolling restartParameter
|
-Description
+ | Description
|
-Restart Mode
+ | Restart Mode
|
-Select Rolling Restart.
- NOTE: - Rolling restart is supported only for clusters with three or more nodes, including the master node, client node, and cold data nodes.
- During a rolling restart, the nodes of a cluster are restarted one at time. This may take a long time if the cluster has a large number of indexes.
-
+ | Select Rolling Restart.
+- Rolling restart is supported only for clusters with three or more nodes, including the master node, client node, and cold data nodes.
- During a rolling restart, the nodes of a cluster are restarted one at a time. This may take a long time if the cluster has a large number of indexes.
|
-Operation Role
+ | Operation Role
|
-Only Node type is supported. You can select multiple node types to restart them at the same time.
+ | Only Node type is supported. You can select multiple node types to restart them at the same time.
|
-Operation Value
+ | Operation Value
|
-Select node types for the restart.
-Values for Node type:
-- ess: data node
- ess-master: master node
- ess-client: client node
- ess-cold: cold data node
+ | Select node types for the restart.
+Values for Node type:
+- ess: data node
- ess-master: master node
- ess-client: client node
- ess-cold: cold data node
|
- - Click OK to start the restart task.
Refresh the page and check the cluster status. During the restart, the cluster status is Processing, and the task status is Restarting. When the cluster status changes to Available, the cluster has restarted successfully.
+ - Click OK to start the restart task.
Refresh the page and check the cluster status. During the restart, the cluster status is Processing, and the task status is Restarting. When the cluster status changes to Available, the cluster has restarted successfully.
diff --git a/docs/css/umn/css_01_0015.html b/docs/css/umn/css_01_0015.html
index e01bf879f..448120f3e 100644
--- a/docs/css/umn/css_01_0015.html
+++ b/docs/css/umn/css_01_0015.html
@@ -1,10 +1,10 @@
-
+
Deleting an Elasticsearch Cluster
-You can delete clusters that you no longer need.
- Constraints- Deleting a cluster will clear all its data. Exercise caution.
- A cluster that has no snapshots created for it cannot be restored once it is deleted. The snapshots of the cluster stored in OBS, if any, will not be deleted with the cluster. You can restore a deleted cluster using its snapshots stored in the OBS bucket.
- For a cluster for which the VPCEP service has been enabled, deleting the cluster may not delete the VPC endpoint associated with the cluster if the current account does not have the necessary VPCEP permissions. For details about the VPCEP permissions, see section "Permissions" in VPC Endpoint User Guide.
+ You can delete clusters that you no longer need.
+ Constraints- Deleting a cluster will delete all its data. Any data that has not been backed up will be permanently lost. Exercise caution.
- A cluster that has no snapshots created for it cannot be restored once it is deleted. The snapshots of the cluster stored in OBS, if any, will not be deleted with the cluster. You can restore a deleted cluster using its snapshots stored in the OBS bucket.
- For a cluster for which the VPCEP service has been enabled, deleting the cluster may not delete the VPC endpoint associated with the cluster if the current account does not have the necessary VPCEP permissions. For details about the VPCEP permissions, see section "Permissions" in VPC Endpoint User Guide.
- Deleting a Cluster- Log in to the CSS management console.
- In the navigation tree on the left, select a cluster type. The cluster list page is displayed.
- Locate the target cluster and click More > Delete in the Operation column.
- In the displayed dialog box, manually type in DELETE, and click OK.
+ Deleting a Cluster- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, find the target cluster, and choose More > Delete in the Operation column.
- In the displayed dialog box, manually type in DELETE, and click OK.
diff --git a/docs/css/umn/css_01_0422.html b/docs/css/umn/css_01_0016.html
similarity index 57%
rename from docs/css/umn/css_01_0422.html
rename to docs/css/umn/css_01_0016.html
index 5459fe4c2..52b5b5dc6 100644
--- a/docs/css/umn/css_01_0422.html
+++ b/docs/css/umn/css_01_0016.html
@@ -1,22 +1,22 @@
-
+
Elasticsearch Cluster Monitoring and Log Management
-
+
diff --git a/docs/css/umn/css_01_0017.html b/docs/css/umn/css_01_0017.html
new file mode 100644
index 000000000..6ff706657
--- /dev/null
+++ b/docs/css/umn/css_01_0017.html
@@ -0,0 +1,165 @@
+
+
+ Accessing an Elasticsearch Cluster Using LDAP
+ The Light Directory Access Protocol (LDAP) is a lightweight version of the directory access protocol based on the X.500 standard. An LDAP service provides user authentication and authorization. Using the Security plugin for Open Distro for Elasticsearch, CSS adds Active Directory as an authentication backend for clusters, connecting them seamlessly to the LDAP service. This topic describes the steps needed to connect a CSS cluster to an LDAP service.
+ It also describes how to enable LDAP authentication for a CSS cluster to allow access by LDAP users of specific roles.
+ ConstraintsOnly Elasticsearch 7.10.2 security-mode clusters can be accessed through LDAP.
+
+ Preparations- A security-mode Elasticsearch cluster has been created in CSS and its status is available.
- The LDAP service that is in the same VPC as the Elasticsearch cluster and the necessary user data have been prepared. For details, see the OpenLDAP document: A Quick-Start Guide.
+
+ Accessing a Cluster- Install an LDAP service on an ECS. If the LDAP service and user data have already been prepared, skip this step.
- Create an ECS. The ECS must run a Windows OS and must be in the same VPC and security group as the security-mode Elasticsearch cluster of CSS. The Windows Server running on the ECS provides the built-in Active Directory service that supports the LDAP protocol.
- Log in to the ECS, and enable the Active Directory service. Create a domain, administrator, users, and user groups.
+ - Modify the parameter settings of the security-mode Elasticsearch cluster on CSS. Configure a static parameter in elasticsearch.yml to connect the cluster to the LDAP service.
- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, click the name of the target cluster. The cluster information page is displayed.
- Choose Cluster Settings > Parameter Settings, and click Edit. Expand Custom, and add the following parameter and value.
- Parameter: opendistro_security.unsupported.restapi.allow_securityconfig_modification
- Value: true
+ - Then click Submit. In the displayed dialog box, confirm the settings, select the box indicating "I understand that the modification will take effect after the cluster is restarted." and click Yes.
If Status is Succeeded in the parameter change list, the change has been saved. Up to 20 change records can be displayed.
+ - After saving the change, click Restart in the upper-right corner of the page to restart the cluster, thus making the change take effect.
- You need to restart the cluster after the change, or Configuration not updated will be displayed in the Task Status column in the cluster list.
- If you restart the cluster after the change, and Task Status displays Configuration error in the cluster list, the parameter configuration file has failed to be modified.
+
+ - Configure a route for an Elasticsearch cluster on the CSS console to connect the cluster to the LDAP service.
- On the cluster information page, click the Overview tab.
- In the Configuration area, click Add Route next to Cluster Route.
- In the displayed dialog box, configure the route information.
+
Table 1 Adding a routeParameter
+ |
+Description
+ |
+
+
+IP Address
+ |
+Enter the IP address of the LDAP server. If the LDAP service on the ECS is used, enter the IP address of the ECS.
+ |
+
+Subnet Mask
+ |
+Enter the subnet mask of the LDAP server. If the LDAP service on the ECS is used, enter the subnet mask of the ECS.
+ |
+
+
+
+
+ - Click OK.
+ - Configure LDAP authentication for a security-mode Elasticsearch cluster.
- On the cluster information page, click Kibana in the upper-right corner to log in to Kibana.
- In the navigation pane on the left, choose Dev Tools.
- Run the following commands to configure LDAP authentication.
+PUT _opendistro/_security/api/securityconfig/config
+{
+ "dynamic": {
+ "authc": {
+ "basic_internal_auth_domain": {
+ "description": "Authenticate via HTTP Basic against internal users database",
+ "http_enabled": true,
+ "transport_enabled": true,
+ "order": 1,
+ "http_authenticator": {
+ "type": "basic",
+ "challenge": true
+ },
+ "authentication_backend": {
+ "type": "intern"
+ }
+ },
+ "ldap": {
+ "description": "Authenticate via LDAP or Active Directory",
+ "http_enabled": true,
+ "transport_enabled": true,
+ "order": 2,
+ "http_authenticator": {
+ "type": "basic",
+ "challenge": false
+ },
+ "authentication_backend": {
+ "type": "ldap",
+ "config": {
+ "enable_ssl": false,
+ "enable_start_tls": false,
+ "enable_ssl_client_auth": false,
+ "verify_hostnames": true,
+ "hosts": ["10.0.XXX.XXX:389"],
+ "bind_dn": "CN=adminAD,DC=test,DC=ldap,DC=com",
+ "password": "<password>",
+ "userbase": "OU=ITDepartment,DC=test,DC=ldap,DC=com",
+ "usersearch": "(sAMAccountName={0})",
+ "username_attribute": "uid"
+ }
+ }
+ }
+ },
+ "authz": {
+ "roles_from_myldap": {
+ "description": "Authorize via LDAP or Active Directory",
+ "http_enabled": true,
+ "transport_enabled": true,
+ "authorization_backend": {
+ "type": "ldap",
+ "config": {
+ "enable_ssl": false,
+ "enable_start_tls": false,
+ "enable_ssl_client_auth": false,
+ "verify_hostnames": true,
+ "hosts": ["10.0.XXX.XXX:389"],
+ "bind_dn": "CN=adminAD,DC=test,DC=ldap,DC=com",
+ "password": "<password>",
+ "rolebase": "OU=groups,DC=test,DC=ldap,DC=com",
+ "rolesearch": "(member={0})",
+ "userroleattribute": null,
+ "userrolename": "disabled",
+ "rolename": "CN",
+ "resolve_nested_roles": true,
+ "userbase": "OU=ITDepartment,DC=test,DC=ldap,DC=com",
+ "usersearch": "(uid={0})"
+ }
+ }
+ }
+ }
+ }
+}
+The parameters in Table 2 need to be modified based on the actual environment.
+
+Table 2 Parameter descriptionParameter
+ |
+Description
+ |
+
+
+hosts
+ |
+Address of the LDAP service. The port number is 389. If the LDAP service on the ECS is used, enter the IP address of the ECS.
+ |
+
+bind_dn
+ |
+It is similar to the LDAP user name (CN - OU - DC) and is used to access the LDAP server. Select a user name from the user data of the LDAP service.
+ |
+
+password
+ |
+Password of the LDAP user configured using bind_dn.
+ |
+
+userbase
+ |
+After the LDAP service is connected, the DN that the user belongs to is obtained. In this example, all user information in the ITDepartment directory is synchronized.
+ |
+
+rolebase
+ |
+The collection of permissions that can be configured for the userbase user group of the LDAP service.
+ |
+
+
+
+
+
+ - Configure the mapping between LDAP user permissions and Elasticsearch permissions in the Elasticsearch security-mode cluster to enable fine-grained access control.
The rolebase permissions group of the LDAP server must be mapped to the roles in the Elasticsearch cluster. Figure 1 illustrates the mapping. For details about the configuration, see Creating Users for an Elasticsearch Cluster and Granting Cluster Access.
+Figure 1 Permissions mapping
+- On the Kibana console, expand the menu in the upper-left corner, and choose Security. The Security page is displayed.
- Click Roles to go to the Open Distro Security Roles page. Click Create Role, set Name, Cluster Permissions, Index Permissions, and Tenant Permissions. Then click Save Role Definition to save the role settings. The parameters are as follows:
- Name (name of the role)
- Cluster permissions
- Index permissions
- Tenant permissions
+ - Click the newly created role, select Mapped users, enter a permissions group of the LDAP service in Backend roles, and click Map.
- Check the configuration result.
Figure 2 Permissions mapping
+ - Repeat 5.b to 5.d to map other permissions groups.
+ - Log in to Kibana using the LDAP user to verify the configuration.
- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, find the target cluster, and click Kibana in the Operation column. Use the LDAP user to log in to the Kibana console.
If the login is successful, the configuration is successful, and users can access the Elasticsearch cluster through LDAP. The specific permissions authorized are controlled by role permissions configured in Elasticsearch.
+
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0019.html b/docs/css/umn/css_01_0019.html
new file mode 100644
index 000000000..bea417a76
--- /dev/null
+++ b/docs/css/umn/css_01_0019.html
@@ -0,0 +1,55 @@
+
+
+ Importing Vector Data
+ Importing vector data is the process of ingesting data to the CSS vector database. When writing vector data to a vector index, you need to specify the vector field (for example, my_vector) and the corresponding data format. The CSS vector database supports two common formats: floating-point arrays and Base64.
+ - Floating-point arrays: transmitting readable arrays directly.
- Base64: encoding vectors (little-endian byte order) into character strings to reduce network transmission overhead and improve efficiency in handling high-dimensional/binary vectors.
+ Choose a format based on the characteristics of your data. Also, choose an appropriate data importing method.
+ - Importing a single record: Use for small-scale applications or testing.
- Bulk import: Use for large-scale applications, where write requests are merged to reduce network overhead.
+ Constraints- Ensure that the vector field names and vector dimensions are consistent with those defined for the index.
- Base64 encoding must use the little-endian byte order. Otherwise, parsing errors may occur.
- In the case of bulk imports, you are advised to submit 100 to 1000 records per request. This balances throughput and memory overhead.
+
+ Importing a Single Record- Floating-point array
POST my_index/_doc
+{
+ "my_vector": [1.0, 2.0]
+}
+ - Base64
POST my_index/_doc
+{
+ "my_vector": "AACAPwAAAEA="
+}
+
+
+ Bulk Import- Floating-point array
POST my_index/_bulk
+{"index": {}}
+{"my_vector": [1.0, 2.0], "my_label": "red"}
+{"index": {}}
+{"my_vector": [2.0, 2.0], "my_label": "green"}
+{"index": {}}
+{"my_vector": [2.0, 3.0], "my_label": "red"}
+ - Base64
POST my_index/_bulk
+{"index":{}}
+{"my_vector":"AACAPwAAAEA=", "my_label": "red"}
+{"index":{}}
+{"my_vector":"AAAAQAAAAEA=", "my_label": "green"}
+{"index":{}}
+{"my_vector":"AAAAQAAAQEA=", "my_label": "red"}
+
+ For details about how to use the Bulk API, see Bulk API.
+
+ (Optional) Post-processing after Data Ingestion: Offline Index Building - Use offline index creation via an API only when real-time data is not required or crucial and the cluster version is OpenSearch 2.19.0.
- If lazy_indexing is enabled, offline index building must be performed after data ingestion. Otherwise, the system will return error code 500 for standard vector query, with the error message "Load native index failed exception." To solve this problem, perform offline index building before vectors queries.
+
+ OpenSearch uses an LSM (Log-Structured Merge) tree-like model to accelerate write operations. As data is continuously written in and updated, numerous small index segments are generated and later merged via a backend task to enhance query performance. As vector indexing is computationally intensive, frequent index merging while vector data is being written in consumes significant CPU resources. Therefore, where real-time data is not crucial, it is advisable to set lazy_indexing to true for vector fields. This allows a final vector index to be created via a non-real time API after all data has been written in. This approach significantly reduces index merges, thereby improving overall write and index merging performance.
+ Offline index building consists of two steps:
+ - Merge index segments.
- Create the final vector index based on the final index segments.
+ The API used for offline index building is as follows:
+ POST _vector/indexing/{index_name}
+{
+ "field": "{field_name}"
+}
+ where, {index_name} indicates the name of the index to create. {field_name} indicates the name of the vector field for which lazy_indexing has been set to true.
+
+
+
+
diff --git a/docs/css/umn/css_01_0021.html b/docs/css/umn/css_01_0021.html
new file mode 100644
index 000000000..3a3bdc65f
--- /dev/null
+++ b/docs/css/umn/css_01_0021.html
@@ -0,0 +1,185 @@
+
+
+ Automating Index Rollover in an Elasticsearch Cluster Through Index Lifecycle Management
+ As time series data is continuously written into Elasticsearch and the index size keeps growing, you can configure Index Lifecycle Management (ISM) to periodically roll over data to new indexes and delete old indexes.
+ In this example, a lifecycle policy is created for an Elasticsearch cluster. According to this policy, when the size of an index reaches 1 TB or the index is one day old, a new index will be automatically generated; seven days after the index is created, data duplicates will be disabled; 30 days after the index is created, the index will be deleted.
+ Assume that an index generates approximately 2.4 TB of data each day. The index alias is log-alias. The following figure illustrates the data format in the cluster. During reads, it points to all indexes whose name starts with test. During writes, it points to the latest index.
+ Figure 1 log-alias format
+ The one day in the rollover time refers to 24 hours following the index creation time, not a calendar day.
+
+ PrerequisitesThe target Elasticsearch cluster is available.
+
+ Automating Index Rollover Through Index Lifecycle Management The Elasticsearch cluster version must be 7.6.2 or later.
+
+ - Log in to Kibana.
- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, find the target cluster, and click Kibana in the Operation column to log in to the Kibana console.
- In the left navigation pane, choose Dev Tools.
The left part of the console is the command input box, and the triangle icon in its upper-right corner is the execution button. The right part shows the execution result.
+
+ - Create a rollover lifecycle policy named rollover_workflow.
Policy description: When the size of an index reaches 1 TB or the index has been created for more than one day, the index rollover is performed. When the index has been created for seven days, the data copy is disabled. When the index has been created for 30 days, the index is deleted.
+PUT _opendistro/_ism/policies/rollover_workflow
+{
+ "policy": {
+ "description": "rollover test",
+ "default_state": "hot",
+ "states": [
+ {
+ "name": "hot",
+ "actions": [
+ {
+ "rollover": {
+ "min_size": "1tb",
+ "min_index_age": "1d"
+ }
+ }
+ ],
+ "transitions": [
+ {
+ "state_name": "warm",
+ "conditions": {
+ "min_index_age": "7d"
+ }
+ }
+ ]
+ },
+ {
+ "name": "warm",
+ "actions": [
+ {
+ "replica_count": {
+ "number_of_replicas": 0
+ }
+ }
+ ],
+ "transitions": [
+ {
+ "state_name": "delete",
+ "conditions": {
+ "min_index_age": "30d"
+ }
+ }
+ ]
+ },
+ {
+ "name": "delete",
+ "actions": [
+ {
+ "delete": {}
+ }
+ ]
+ }
+ ]
+ }
+}
+After a lifecycle policy is created, run the following command to query the policy details:
+GET _opendistro/_ism/policies/rollover_workflow
+ - Create the index template template_test.
Template description: All the new indexes starting with test are automatically associated with the rollover lifecycle policy rollover_workflow. The alias log_alias is used during rollover.
+PUT _template/template_test
+{
+ "index_patterns": "test*",
+ "settings": {
+ "number_of_replicas": 1,
+ "number_of_shards": 1,
+ "opendistro.index_state_management.policy_id": "rollover_workflow",
+ "index.opendistro.index_state_management.rollover_alias": "log_alias"
+ },
+ "mappings": {
+ "properties": {
+ "name": {
+ "type": "text"
+ }
+ }
+ }
+}
+
+Table 1 Parameter descriptionParameter
+ |
+Description
+ |
+
+
+number_of_shards
+ |
+Number of index shards
+ |
+
+number_of_replicas
+ |
+Number of index shard replicas
+ |
+
+opendistro.index_state_management.policy_id
+ |
+Lifecycle policy name
+ |
+
+index.opendistro.index_state_management.rollover_alias
+ |
+Index alias for rollover
+ |
+
+
+
+
+After an index template is created, you can run the following command to query the template details:
+GET _template/template_test
+ - Create an index, specify aliases, and set is_write_index to true. The index template template_test is automatically used for the index and is associated with the lifecycle policy rollover_workflow based on the index template configuration. In this way, when the index size reaches 1 TB or the index is created for more than one day, the rollover automatically starts. After an index is created for seven days, the data copy is disabled. After an index is created for 30 days, the index is deleted.
The following index is the URL code of <test-{now/d}-000001>. By default, an index name contains the creation date. For example, if an index is created on 2022-06-02, the index name is test-2022.06.02-000001. PUT %3Ctest-%7Bnow%2Fd%7D-000001%3E
+{
+ "aliases": {
+ "log_alias": {
+ "is_write_index": true
+ }
+ }
+}
+
+ - The alias log_alias is used to during data write, and log_alias always points to the last index.
POST log_alias/_bulk
+{"index":{}}
+{"name":"name1"}
+{"index":{}}
+{"name":"name2"}
+{"index":{}}
+{"name":"name3"}
+{"index":{}}
+{"name":"name4"}
+{"index":{}}
+{"name":"name5"}
+{"index":{}}
+{"name":"name6"}
+ - Query data and check whether the rollover takes effect.
- One day after the indexes are created, check the indexes starting with test.
GET _cat/indices/test*?s=i
+There are supposed to be at least two indexes, for example:
+green open test-<Date>-000001 r8ab5NX6T3Ox_hoGUanogQ 1 1 6 0 416b 208b
+green open test-<Date>-000002 sfwkVgy8RSSEw7W-xYjM2Q 1 1 0 0 209b 209b
+In the preceding information, test-<Date>-000001 is the index created in 4, and test-<Date>-000002 is the index generated through rollover.
+ - To query the index associated with the alias log_alias, run the following command:
GET _cat/aliases/log_alias?v
+The alias is supposed to point to multiple indexes, for example:
+alias index filter routing.index routing.search is_write_index
+log_alias test-<Date>-000001 - - - false
+log_alias test-<Date>-000002 - - - true
+
+
+
+ FAQ: How Do I Skip Rollover for an Index?Scenarios
+ - A manual rollover is performed: A time-based ISM policy was configured to automate index rollover. Before the rollover criteria were met, however, a manual rollover was performed. When the auto rollover time configured by ISM was reached, an automatic rollover was attempted but failed because the index had already been rolled over manually. As a result, the ISM task stopped. To solve this problem, you need to skip the index rollover and then retry the ISM task to resume automatic index rollover.
- For an index that has already been rolled over automatically, a remove or add policy operation is performed: After the rollover policy is modified (through the remove policy or add policy operation), the ISM task restarts from the beginning. When rollover starts, the task fails. To solve this, you also need to skip index rollover and then retry the ISM task to resume automatic index rollover.
+ After rollover is skipped for an index, ISM will no longer attempt rollover or generate rolled-over indexes. This means skipping index rollover may lead to data loss. Please exercise caution.
+
+ Constraints
+ To skip index rollover, the Elasticsearch cluster version must be 7.6.2 or 7.10.2, and the cluster image version must not be earlier than 7.x.2_25.1.0_x.x.x.
+ Procedure
+ - If an ISM task stops due to an index rollover failure, run the following command to skip index rollover:
PUT index_name/_settings
+{
+ "index.plugins.index_state_management.rollover_skip": true
+}
+If true is returned, the configuration is successful.
+ - After index rollover is skipped, run the following command to retry the ISM task:
POST _opendistro/_ism/retry/index_name
+If the following information is returned, the retry is successful:
+{
+ "updated_indices": 1,
+ "failures": false,
+ "failed_indices": []
+}
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0022.html b/docs/css/umn/css_01_0022.html
new file mode 100644
index 000000000..59cb00d04
--- /dev/null
+++ b/docs/css/umn/css_01_0022.html
@@ -0,0 +1,130 @@
+
+
+ Decoupling Index Storage and Compute in an Elasticsearch Cluster Through Index Lifecycle Management
+ OverviewCSS supports decoupled storage and compute. That is, indexes can be frozen and their data can be dumped to OBS to reduce the storage cost of cold data. This document describes how to use index lifecycle management to automatically freeze indexes at a specific time to decouple storage and compute.
+ In this example, a lifecycle policy is created for an Elasticsearch 7.10.2 cluster. According to this policy, a newly created index is automatically frozen in three days, with data dumped to OBS; and deleted in seven days.
+ Figure 1 Storage-compute decoupling
+
+ ConstraintsOnly Elasticsearch 7.6.2 and 7.10.2 clusters support decoupled storage and compute.
+
+ PrerequisitesThe Elasticsearch cluster is available.
+
+ Decoupling Index Storage and Compute Through Index Lifecycle Management- Log in to Kibana.
- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, find the target cluster, and click Kibana in the Operation column to log in to the Kibana console.
- In the left navigation pane, choose Dev Tools.
The left part of the console is the command input box, and the triangle icon in its upper-right corner is the execution button. The right part shows the execution result.
+
+ - Create a lifecycle policy named hot_warm_policy.
Policy description: Three days after an index is created, the API for freezing indexes is automatically called to dump data to OBS. Seven days after index creation, the index is deleted.
+PUT _opendistro/_ism/policies/hot_warm_policy
+{
+ "policy": {
+ "description": "hot warm archive delete workflow",
+ "error_notification": null,
+ "default_state": "hot",
+ "states": [
+ {
+ "name": "hot",
+ "actions": [],
+ "transitions": [
+ {
+ "state_name": "warm",
+ "conditions": {
+ "min_index_age": "3d"
+ }
+ }
+ ]
+ },
+ {
+ "name": "warm",
+ "actions": [
+ {
+ "freeze_low_cost": {}
+ }
+ ],
+ "transitions": [
+ {
+ "state_name": "delete",
+ "conditions": {
+ "min_index_age": "7d"
+ }
+ }
+ ]
+ },
+ {
+ "name": "delete",
+ "actions": [
+ {
+ "delete": {}
+ }
+ ],
+ "transitions": []
+ }
+ ]
+ }
+}
+ - Create the index template template_hot_warm.
Template description: All the new indexes starting with data are automatically associated with the lifecycle policy hot_warm_policy.
+PUT _template/template_hot_warm
+{
+ "index_patterns": "data*",
+ "settings": {
+ "number_of_replicas": 5,
+ "number_of_shards": 1,
+ "opendistro.index_state_management.policy_id": "hot_warm_policy"
+ },
+ "mappings": {
+ "properties": {
+ "name": {
+ "type": "text"
+ }
+ }
+ }
+}
+
+Table 1 Parameter descriptionParameter
+ |
+Description
+ |
+
+
+number_of_shards
+ |
+Number of index shards
+ |
+
+number_of_replicas
+ |
+Number of index shard replicas
+ |
+
+opendistro.index_state_management.policy_id
+ |
+Lifecycle policy name
+ |
+
+
+
+
+ - Create the data-2022-06-06 index. The index automatically uses the template_hot_warm template and associates the index template with the lifecycle policy hot_warm_policy. As such, the index is automatically frozen in three days, and deleted in seven days after creation.
POST data-2022-06-06/_bulk
+{"index":{}}
+{"name":"name1"}
+{"index":{}}
+{"name":"name2"}
+{"index":{}}
+{"name":"name3"}
+{"index":{}}
+{"name":"name4"}
+{"index":{}}
+{"name":"name5"}
+{"index":{}}
+{"name":"name6"}
+ - Query data and check whether storage and compute is automatically decoupled.
- Three days after the index is created, check the frozen index.
GET _cat/freeze_indices?s=i&v
+The index generated three days ago is expected to be frozen.
+health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
+green open data-2022-06-06 x8ab5NX6T3Ox_xoGUanogQ 1 1 6 0 7.6kb 3.8kb
+ - Seven days after index creation, check the index. The index is expected to be deleted.
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0023.html b/docs/css/umn/css_01_0023.html
new file mode 100644
index 000000000..7d72b1295
--- /dev/null
+++ b/docs/css/umn/css_01_0023.html
@@ -0,0 +1,51 @@
+
+
+ Elasticsearch Cluster Monitoring Metrics Supported by the Kernel
+
+ Table 1 Elasticsearch cluster monitoring metrics supported by the kernelMetric
+ |
+Description
+ |
+Supported Cluster Version
+ |
+Details
+ |
+
+
+P99 latency for search requests
+ |
+Open-source Elasticsearch provides only the average latency metric when monitoring responses to search requests. This may not accurately reflect the actual search performance of a cluster. To improve on this, the P99 latency metric is added in CSS to monitor the 99th percentile latency of each cluster.
+ |
+Elasticsearch 7.6.2, Elasticsearch 7.10.2
+ |
+Monitoring P99 Latency
+ |
+
+HTTP status codes for the cluster
+ |
+When you access Elasticsearch through HTTP, you receive HTTP status codes in response to your requests. The native open-source Elasticsearch does not collect statistics on these status codes. To improve on this, HTTP status code monitoring is added in CSS, allowing you to monitor HTTP status codes and get a sense of how the service is running.
+ |
+Elasticsearch 7.6.2, Elasticsearch 7.10.2
+ |
+Monitoring HTTP Status Codes
+ |
+
+Cluster indexes
+ |
+Index monitoring helps to monitor the index usage and trends of a cluster, allowing users to handle potential risks in a timely manner to ensure cluster reliability. Index usage statistics are collected and stored in the cluster's monitoring index (index name: monitoring-eye-css-[yyyy-mm-dd]. By default, these monitoring indexes are retained for one week before being permanently deleted upon expiration.
+ |
+Elasticsearch 7.6.2, Elasticsearch 7.10.2
+ |
+Configuring Index Monitoring for an Elasticsearch Cluster
+ |
+
+
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0024.html b/docs/css/umn/css_01_0024.html
index 15baec821..134304b52 100644
--- a/docs/css/umn/css_01_0024.html
+++ b/docs/css/umn/css_01_0024.html
@@ -1,12 +1,31 @@
-
+
Using Open Source Elasticsearch APIs to Import Data to Elasticsearch
- With CSS, you can use open-source Elasticsearch APIs on Kibana or an ECS server to import data to an Elasticsearch cluster. JSON files are supported.
-
- Using an Open-Source Elasticsearch API to Import Data on KibanaOn Kibana, you can run POST commands to import single pieces of data using an open-source Elasticsearch API. - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch to switch to the Clusters page.
- Locate the target cluster, and click Access Kibana in the Operation column to log in to Kibana.
- Click Dev Tools in the navigation tree on the left.
- Run the following command on the console to check whether the cluster has indexes:
GET _cat/indices?v
-- If indexes are available in the cluster to which you want to import data, you do not need to create an index. Go to 7.
- If no indexes are available in the cluster, go to the next step to create an index.
- - Run the following command to create an index for storing imported data and create a custom mapping to define the data type.
For example, run the following command to create index my_store:
-Run the following command for Elasticsearch earlier than 7.x: PUT /my_store
+With CSS, you can use open-source Elasticsearch APIs on Kibana or an ECS server to import data to an Elasticsearch cluster. JSON files are supported.
+
+ Using an Open-Source Elasticsearch API to Import Data on KibanaOn Kibana, you can run POST commands to import single pieces of data using an open-source Elasticsearch API. - Log in to Kibana.
- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, find the target cluster, and click Kibana in the Operation column to log in to the Kibana console.
- In the left navigation pane, choose Dev Tools.
The left part of the console is the command input box, and the triangle icon in its upper-right corner is the execution button. The right part shows the execution result.
+
+ - Run the following command on the console to check whether the cluster has indexes:
GET _cat/indices?v
+- If indexes are available in the cluster to which you want to import data, you do not need to create an index. Go to 7.
- If no indexes are available in the cluster, go to the next step to create an index.
+ - Run the following command to create an index for storing imported data and create a custom mapping to define the data type.
For example, run the following command to create index my_store:
+Sample code for Elasticsearch 7.x or later:
+PUT /my_store
+{
+ "settings": {
+ "number_of_shards": 1
+ },
+ "mappings": {
+ "properties": {
+ "productName": {
+ "type": "text"
+ },
+ "size": {
+ "type": "keyword"
+ }
+ }
+ }
+}
+Sample code for Elasticsearch earlier than 7.x: PUT /my_store
{
"settings": {
"number_of_shards": 1
@@ -25,78 +44,43 @@
}
}
-Run the following command for Elasticsearch 7.x or later:
-PUT /my_store
-{
- "settings": {
- "number_of_shards": 1
- },
- "mappings": {
- "properties": {
- "productName": {
- "type": "text"
- },
- "size": {
- "type": "keyword"
- }
- }
- }
-}
- - Run commands on Kibana to import data. In the example below, only a single piece of data is imported:
Run the following command for Elasticsearch earlier than 7.x: POST /my_store/products/_bulk
+ - Run commands on Kibana to import data. In the example below, only a single piece of data is imported:
Sample code for Elasticsearch 7.x or later:
+POST /my_store/_bulk
+{"index":{}}
+{"productName":"Latest art shirts for women in 2017 autumn","size":"L"}
+Sample code for Elasticsearch earlier than 7.x: POST /my_store/products/_bulk
{"index":{}}
{"productName":"Latest art shirts for women in 2017 autumn","size":"L"}
-Run the following command for Elasticsearch 7.x or later:
-POST /my_store/_bulk
-{"index":{}}
-{"productName":"Latest art shirts for women in 2017 autumn","size":"L"}
-The command output is similar to that shown in Figure 1. If the value of the errors field in the result is false, the data is successfully imported.
-Figure 1 Response message
+The command output is similar to that shown in Figure 1. If the value of the errors field in the result is false, the data is successfully imported.
+Figure 1 Response message
- Using an Open-Source Elasticsearch API to Import Data on an ECS ServerOn an ECS server, you can run cURL commands to use an open-source Elasticsearch API to import JSON files.
- In the example below, a cluster in non-security mode is used to describe how to import data using cURL commands. For the commands for a security cluster, see Accessing an Elasticsearch Cluster Using cURL Commands.
- - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch to switch to the Clusters page.
- In the cluster list, obtain the IP address of the target cluster from the Private Network Address column. Generally, the IP address format is <host>:<port> or <host>:<port>,<host>:<port>.
If the cluster has only one node, the IP address and port number of this one node are displayed, for example, 10.62.179.32:9200. If the cluster has multiple nodes, the IP addresses and port numbers of all nodes are displayed, for example, 10.62.179.32:9200,10.62.179.33:9200.
- - Log in to the ECS that you are going to use to import data.
- Upload a JSON file to the ECS.
For example, save the following data as a JSON file and upload the file to the ECS:
-For Elasticsearch earlier than 7.x: {"index": {"_index":"my_store","_type":"products"}}
+Using an Open-Source Elasticsearch API to Import Data on an ECS ServerOn an ECS server, you can run cURL commands to use an open-source Elasticsearch API to import JSON files.
+ In the example below, a cluster in non-security mode is used to describe how to import data using cURL commands. For the commands for a security cluster, see Accessing an Elasticsearch Cluster Using cURL Commands.
+ - Obtain the private network address of the cluster.
- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, obtain the target cluster's private IP address from the Private IP Address column. Generally, the IP address format is <host>:<port> or <host>:<port>,<host>:<port>.
If the cluster has only one node, the IP address and port number of this single node are displayed, for example, 10.62.179.32:9200. If the cluster has multiple nodes and all of them are data nodes, the IP addresses and port numbers of all these nodes are displayed; if some of them are client nodes, only the IP addresses and port numbers of these client nodes are displayed; for example, 10.62.179.32:9200,10.62.179.33:9200.
+
+ - Log in to the ECS that you are going to use to import data.
- Upload a JSON file to the ECS.
For example, save the following data as a JSON file and upload the file to the ECS:
+For Elasticsearch 7.x or later: {"index": {"_index":"my_store"}}
+{"productName":"Autumn new woman blouses 2019","size":"M"}
+{"index": {"_index":"my_store"}}
+{"productName":"Autumn new woman blouses 2019","size":"L"}
+
+For Elasticsearch earlier than 7.x: {"index": {"_index":"my_store","_type":"products"}}
{"productName":"Autumn new woman blouses 2019","size":"M"}
{"index": {"_index":"my_store","_type":"products"}}
{"productName":"Autumn new woman blouses 2019","size":"L"}
-For Elasticsearch 7.x or later: {"index": {"_index":"my_store"}}
-{"productName":"Autumn new woman blouse 2019","size":"M"}
-{"index": {"_index":"my_store"}}
-{"productName":"Autumn new woman blouses 2019","size":"L"}
-
- - Run the following command in the path where the JSON file is stored in the ECS to import the JSON file to an Elasticsearch cluster.
curl -X PUT "http://{Private network address and port number of the node} /_bulk" -H 'Content-Type: application/json' --data-binary @test.json
-If communication encryption is enabled for the cluster where you are importing data, you need to send HTTPS requests by add -k to the cURL commands.
-curl -X PUT -k "https://{Private network address and port number of the node} /_bulk" -H 'Content-Type: application/json' --data-binary @test.json
-Replace {Private network address and port number of the node} with the private network address and port number of a node in the cluster. In the case the failure of a cluster node, if the cluster contains multiple nodes, you can replace {Private network address and port number of the node} with the private network address and port number of any available node in the cluster; if the cluster contains only one node, restore this node and execute the command again. test.json indicates the JSON file to be imported.
- The value of the -X parameter is a command and that of the -H parameter is a message header. In the preceding command, PUT is the value of the -X parameter and 'Content-Type: application/json' --data-binary @test.json is the value of the -H parameter. Do not add -k between a parameter and its value.
+ - Run the following command in the path where the JSON file is stored in the ECS to import the JSON file to an Elasticsearch cluster.
curl -X PUT "http://{Private network address and port number of the node}/_bulk" -H 'Content-Type: application/json' --data-binary @test.json
+If communication encryption is enabled for the cluster where you are importing data, you need to send HTTPS requests by add -k to the cURL commands.
+curl -X PUT -k "https://{Private network address and port number of the node}/_bulk" -H 'Content-Type: application/json' --data-binary @test.json
+Replace {Private network address and port number of the node} with the private network address and port number of a node in the cluster. The value of the -X parameter is a command and that of the -H parameter is a message header. In the preceding command, PUT is the value of the -X parameter and 'Content-Type: application/json' --data-binary @test.json is the value of the -H parameter. Do not add -k between a parameter and its value. test.json indicates the JSON file to be ingested.
+ In the case of the failure of a cluster node, if the cluster contains multiple nodes, you can replace {Private network address and port number of the node} with the private network address and port number of any available node in the cluster; if the cluster contains only one node, restore this node and execute the command again.
-Example 1: In this example, assume that you need to import data in the test.json file to an Elasticsearch cluster, where communication encryption is disabled and the private network address and port number of one node are 192.168.0.90 and 9200 respectively.
-- Run the following command to create an index named my_store:
Run the following command for Elasticsearch earlier than 7.x: curl -X PUT http://192.168.0.90:9200/my_store -H 'Content-Type: application/json' -d '
- {
- "settings": {
- "number_of_shards": 1
- },
- "mappings": {
- "products": {
- "properties": {
- "productName": {
- "type": "text"
- },
- "size": {
- "type": "keyword"
- }
- }
- }
- }
- }'
-
-Run the following command for Elasticsearch 7.x or later:
-curl -X PUT http://192.168.0.90:9200/my_store -H 'Content-Type: application/json' -d '
+Example 1: In this example, assume that you need to import data in the test.json file to an Elasticsearch cluster, where communication encryption is disabled and the private network address and port number of one node are 192.168.0.90 and 9200 respectively.
+- Run the following command to create an index named my_store:
Sample code for Elasticsearch 7.x or later:
+curl -X PUT http://192.168.0.90:9200/my_store -H 'Content-Type: application/json' -d '
{
"settings": {
"number_of_shards": 1
@@ -112,11 +96,7 @@
}
}
}'
- - Run the following command to import the test.json file:
curl -X PUT "http://192.168.0.90:9200/_bulk" -H 'Content-Type: application/json' --data-binary @test.json
-In this case, if the following information is displayed, the data is successfully imported:
-{"took":204,"errors":false,"items":[{"index":{"_index":"my_store","_type":"_doc","_id":"DJQkBIwBbJvUd2769Wi-","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1,"status":201}},{"index":{"_index":"my_store","_type":"_doc","_id":"DZQkBIwBbJvUd2769Wi_","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1,"status":201}}]}
-
-Example 2: In this example, assume that you need to import data in the test.json file to an Elasticsearch cluster, where communication encryption has been enabled The private network address and port of one node are 192.168.0.90 and 9200, respectively. - Run the following command to create an index named my_store:
curl -X PUT -k https://192.168.0.90:9200/my_store -H 'Content-Type: application/json' -d '
+Sample code for Elasticsearch earlier than 7.x: curl -X PUT http://192.168.0.90:9200/my_store -H 'Content-Type: application/json' -d '
{
"settings": {
"number_of_shards": 1
@@ -134,9 +114,32 @@
}
}
}'
- - Run the following command to import the test.json file:
curl -X PUT -k "https://192.168.0.90:9200/_bulk" -H 'Content-Type: application/json' --data-binary @test.json
-In this case, if the following information is displayed, the data is successfully imported:
-{"took":204,"errors":false,"items":[{"index":{"_index":"my_store","_type":"_doc","_id":"DJQkBIwBbJvUd2769Wi-","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1,"status":201}},{"index":{"_index":"my_store","_type":"_doc","_id":"DZQkBIwBbJvUd2769Wi_","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1,"status":201}}]}
+
+ - Run the following command to import the test.json file:
curl -X PUT "http://192.168.0.90:9200/_bulk" -H 'Content-Type: application/json' --data-binary @test.json
+In this case, if the following information is displayed, the data is successfully imported:
+{"took":204,"errors":false,"items":[{"index":{"_index":"my_store","_type":"_doc","_id":"DJQkBIwBbJvUd2769Wi-","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1,"status":201}},{"index":{"_index":"my_store","_type":"_doc","_id":"DZQkBIwBbJvUd2769Wi_","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1,"status":201}}]}
+
+ Example 2: In this example, assume that you need to import data in the test.json file to an Elasticsearch cluster, where communication encryption has been enabled The private network address and port of one node are 192.168.0.90 and 9200, respectively. - Run the following command to create an index named my_store:
curl -X PUT -k https://192.168.0.90:9200/my_store -H 'Content-Type: application/json' -d '
+ {
+ "settings": {
+ "number_of_shards": 1
+ },
+ "mappings": {
+ "products": {
+ "properties": {
+ "productName": {
+ "type": "text"
+ },
+ "size": {
+ "type": "keyword"
+ }
+ }
+ }
+ }
+ }'
+ - Run the following command to import the test.json file:
curl -X PUT -k "https://192.168.0.90:9200/_bulk" -H 'Content-Type: application/json' --data-binary @test.json
+In this case, if the following information is displayed, the data is successfully imported:
+{"took":204,"errors":false,"items":[{"index":{"_index":"my_store","_type":"_doc","_id":"DJQkBIwBbJvUd2769Wi-","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1,"status":201}},{"index":{"_index":"my_store","_type":"_doc","_id":"DZQkBIwBbJvUd2769Wi_","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1,"status":201}}]}
@@ -144,7 +147,7 @@
diff --git a/docs/css/umn/css_01_0423.html b/docs/css/umn/css_01_0025.html
similarity index 52%
rename from docs/css/umn/css_01_0423.html
rename to docs/css/umn/css_01_0025.html
index 05a382977..6b2c3a824 100644
--- a/docs/css/umn/css_01_0423.html
+++ b/docs/css/umn/css_01_0025.html
@@ -1,21 +1,21 @@
-
+
Elasticsearch Cluster Monitoring Metrics
-
+
diff --git a/docs/css/umn/css_01_0426.html b/docs/css/umn/css_01_0026.html
similarity index 59%
rename from docs/css/umn/css_01_0426.html
rename to docs/css/umn/css_01_0026.html
index a40d9a126..3369ee19a 100644
--- a/docs/css/umn/css_01_0426.html
+++ b/docs/css/umn/css_01_0026.html
@@ -1,20 +1,20 @@
-
+
Configuring Elasticsearch Cluster Monitoring
-
+
diff --git a/docs/css/umn/css_01_0027.html b/docs/css/umn/css_01_0027.html
new file mode 100644
index 000000000..83f641f0e
--- /dev/null
+++ b/docs/css/umn/css_01_0027.html
@@ -0,0 +1,128 @@
+
+
+ Procedure for Using OpenSearch
+
+ Table 1 Procedure for using an OpenSearch clusterCategory
+ |
+Operation
+ |
+Details
+ |
+
+
+Use
+ |
+Planning a cluster
+ |
+Before creating an OpenSearch cluster, develop a plan for it, such as whether to deploy the cluster across multiple AZs to improve availability; the node quantity and specifications; the cluster version and security mode; and index sharding, in order to ensure the desired performance and reliability.
+ |
+OpenSearch Cluster Planning Suggestions
+ |
+
+Creating a cluster
+ |
+Create an OpenSearch cluster based on the plan.
+ |
+Creating an OpenSearch Cluster
+ |
+
+Accessing a cluster
+ |
+There are many ways to access an OpenSearch cluster, such as OpenSearch Dashboards, Cerebro, open-source APIs, Java, Python, and Go clients, as well as multiple network configurations over an internal network or the public network. You can select the most appropriate access method based on the programming language you prefer as well as your network environment.
+
+ |
+OpenSearch Cluster Access Methods
+ |
+
+Importing data
+ |
+There are many ways to import data to an OpenSearch cluster, including Logstash, open-source OpenSearch APIs, Cloud Data Migration (CDM), and Data Replication Service (DRS), with support for different data sources and formats, as well as real-time synchronization for relational databases. You can select the best way for yourself based on your use case and the characteristics of your data.
+
+ |
+Different Ways to Ingest Data into an OpenSearch Cluster
+ |
+
+Searching for data
+ |
+With CSS, you are advised to use DSL for data search in OpenSearch clusters. You may also use SQL.
+ |
+Using DSL to Search for Data in OpenSearch
+Using SQL to Search for Data in OpenSearch
+ |
+
+Enhancing the cluster's search capability
+ |
+On top of the open-source version, CSS's OpenSearch clusters offer a range of enhanced features, including vector search, storage-compute decoupling, and switchover between hot and cold data storage classes. These features help you meet performance and cost optimization requirements for different use cases, while enhancing the service's cluster stability and search capability.
+
+ |
+Search Enhancement Features for OpenSearch Clusters
+ |
+
+O&M
+ |
+Backup and restoration
+ |
+Snapshots can be created to back up the data of an OpenSearch cluster, so that data can be quickly restored in the case of accidental data loss or in case historical data is needed, improving cluster data availability.
+ |
+Creating Snapshots to Back Up the Data of an OpenSearch Cluster
+Restoring a Snapshot of an OpenSearch Cluster
+ |
+
+Scaling a cluster
+ |
+CSS provides flexible scale-out and scale-in options, using which you can add or reduce nodes (either randomly or with specified nodes), add node types, and increase or reduce node specifications. This allows you to dynamically adjust cluster resources to meet changing demand and optimize costs.
+ |
+Scaling Out/Up an OpenSearch Cluster
+Scaling In/Down an OpenSearch Cluster
+ |
+
+Upgrade
+ |
+OpenSearch clusters support both same-version upgrade and cross-version upgrade. Same-version upgrade means to upgrade the kernel patches to fix problems or optimize performance. Cross-version upgrade means to upgrade the cluster version to enhance functionality or incorporate versions.
+ |
+Upgrading the Version of an OpenSearch Cluster
+ |
+
+Managing clusters
+ |
+CSS provides comprehensive cluster management functions. Users can check cluster information, authorize cluster access, change the cluster's security mode, replace nodes, bind clusters with enterprise projects, switches AZs, and configure custom word dictionaries for OpenSearch clusters. They help users efficiently manage OpenSearch clusters and ensure cluster security, high availability, and optimized performance.
+ |
+Managing OpenSearch Clusters
+ |
+
+Managing cluster index policies
+ |
+The Index State Management (ISM) plugin of OpenSearch can be used to create and manage index lifecycle policies. These policies help automate index rollovers and deletions, helping optimize cluster performance and cut storage costs.
+ |
+Creating and Managing OpenSearch Index Policies
+ |
+
+Monitoring and log management
+ |
+CSS provides comprehensive monitoring and log management functions. Users can configure and check monitoring metrics for clusters and nodes, configure alarm rules, and back up and view logs. Intelligent O&M tools help users efficiently monitor, analyze, and maintain OpenSearch clusters and ensure cluster stability and performance.
+ |
+Monitoring Metrics for OpenSearch Clusters in Cloud Eye
+Using Cloud Eye to Monitor OpenSearch Clusters
+Configuring Index Monitoring for an OpenSearch Cluster
+Setting Alarm Alerting via SMN for an OpenSearch Cluster
+Synchronizing OpenSearch Alerts to Prometheus
+Managing OpenSearch Cluster Logs
+ |
+
+Audit logs
+ |
+Cloud Trace Service (CTS) can be used to log mission-critical operations related to OpenSearch clusters. Used for auditing and accountability purposes, these log records are retained for seven days on the management console.
+ |
+Viewing OpenSearch Cluster Audit Logs
+ |
+
+
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0028.html b/docs/css/umn/css_01_0028.html
new file mode 100644
index 000000000..0e2edab2c
--- /dev/null
+++ b/docs/css/umn/css_01_0028.html
@@ -0,0 +1,19 @@
+
+
+ OpenSearch Cluster Planning Suggestions
+
+
+
diff --git a/docs/css/umn/css_01_0029.html b/docs/css/umn/css_01_0029.html
new file mode 100644
index 000000000..2f2654533
--- /dev/null
+++ b/docs/css/umn/css_01_0029.html
@@ -0,0 +1,21 @@
+
+
+ Logging In to an OpenSearch Cluster Through Cerebro
+ Cerebro is an open-source Elasticsearch web admin tool, designed for real-time monitoring and efficient cluster operations. Cerebro works for OpenSearch just as well. In CSS, Cerebro is pre-built for each OpenSearch cluster. You can start Cerebro with one click, without installing anything. Cerebro allows you to quickly check a cluster's health status, node distribution, and index details. For routine O&M tasks, including shard adjustment, index management, and performance monitoring, we recommend using Cerebro. Its intuitive cluster topology views and comprehensive management features streamline O&M workflows, reducing complexity while improving efficiency. Cerebro is suitable for different roles, including developers, O&M teams, and data analysts.
+ Accessing a Cluster Through Cerebro on the CSS ConsoleThe OpenSearch clusters created in CSS provide a built-in Cerebro component, using which you can quickly access these clusters.
+ - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > OpenSearch.
- Find the target cluster, and choose More > Cerebro in the Operation column. The Cerebro login page is displayed.
- Non-security cluster: Click the cluster name on the Cerebro login page to go to the Cerebro console.
- Security cluster: Click the cluster name on the Cerebro login page, enter the username and password, and click Authenticate to go to the Cerebro console. The default username is admin and the password is the one specified during cluster creation.
+ - After the login is successful, you can access clusters through Cerebro.
+
+ Accessing a Cluster Using an In-House Built Cerebro When using in-house built Cerebro to access a cluster, make sure the network between them is connected.
+
+ - Obtain the cluster access address. For details about how to obtain the cluster access address for different network configurations, see Network Configuration.
- Start Cerebro, and enter the cluster access address.
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0030.html b/docs/css/umn/css_01_0030.html
new file mode 100644
index 000000000..35a829428
--- /dev/null
+++ b/docs/css/umn/css_01_0030.html
@@ -0,0 +1,79 @@
+
+
+ Accessing an OpenSearch Cluster Using cURL Commands
+ Open-source OpenSearch provides a series of RESTful APIs. You can run cURL commands to access these APIs using tools such as OpenSearch Dashboards and Postman. This topic describes how to run cURL commands to access an OpenSearch cluster.
+ Prerequisites- The target CSS OpenSearch cluster is available.
- An ECS has been created, and it is in the same VPC and security group as the CSS cluster.
+
+
+ Accessing a Cluster- Obtain the private network address of the cluster. It is used to access the cluster.
This topic uses a private IP address as an example to describe how to access a cluster. The cluster access address varies depending on the network configurations used. For details, see Network Configuration.
+- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > OpenSearch.
- In the cluster list, obtain the target cluster's private IP address from the Private IP Address column. Generally, the IP address format is <host>:<port> or <host>:<port>,<host>:<port>.
If the cluster has only one node, the IP address and port number of this single node are displayed, for example, 10.62.179.32:9200. If the cluster has multiple nodes and all of them are data nodes, the IP addresses and port numbers of all these nodes are displayed; if some of them are client nodes, only the IP addresses and port numbers of these client nodes are displayed; for example, 10.62.179.32:9200,10.62.179.33:9200.
+
+ - Run one of the following commands on the ECS to access the cluster. The access command varies depending on the security mode of the cluster.
- For a cluster with the security mode disabled:
curl "http://<host>:<port>"
+ - For a security-mode cluster that uses HTTP:
curl -u <user>:<password> "http://<host>:<port>"
+ - For a security-mode cluster that uses HTTPS:
curl -u <user>:<password> -k "https://<host>:<port>"
+
+
+Table 1 VariablesVariable
+ |
+Description
+ |
+
+
+<host>
+ |
+IP address of each node in the cluster. If the cluster contains multiple nodes, there will be multiple IP addresses. You can use any of them.
+ |
+
+<port>
+ |
+Port number for accessing a cluster node. Generally, the port number is 9200.
+ |
+
+<user>
+ |
+Username for accessing the cluster.
+ |
+
+<password>
+ |
+Password of the user.
+If the password contains special characters, enclose the username and password in single quotation marks, for example, curl -u "user:password!" "http://<host>:<port>".
+ |
+
+
+
+
+Example command:
+curl "http://10.62.176.32:9200"
+Example response:
+HTTP/1.1 200 OK
+content-type: application/json; charset=UTF-8
+content-length: 513
+
+{
+ "name" : "css-xxx-ess-esn-3-1",
+ "cluster_name" : "css-xxx",
+ "cluster_uuid" : "xxx_uuid",
+ "version" : {
+ "number" : "7.10.2",
+ "build_type" : "tar",
+ "build_hash" : "unknown",
+ "build_date" : "unknown",
+ "build_snapshot" : true,
+ "lucene_version" : "9.12.1",
+ "minimum_wire_compatibility_version" : "7.10.0",
+ "minimum_index_compatibility_version" : "7.0.0"
+ },
+ "tagline" : "The OpenSearch Project: https://opensearch.org/"
+}
+
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0031.html b/docs/css/umn/css_01_0031.html
new file mode 100644
index 000000000..6ff01da0c
--- /dev/null
+++ b/docs/css/umn/css_01_0031.html
@@ -0,0 +1,18 @@
+
+
+ Accessing an OpenSearch Cluster Using Java
+
+
+
diff --git a/docs/css/umn/css_01_0032.html b/docs/css/umn/css_01_0032.html
new file mode 100644
index 000000000..ed0ebe866
--- /dev/null
+++ b/docs/css/umn/css_01_0032.html
@@ -0,0 +1,1080 @@
+
+
+ Accessing an OpenSearch Cluster Using the High Level REST Client
+ You can query and manage data in a CSS OpenSearch cluster using the High Level REST Client. The High Level REST Client encapsulates OpenSearch APIs. You only need to construct the required structures to access an OpenSearch cluster. This simplifies the process of working with an OpenSearch cluster. For details about how to use the REST Client, see Java high-level REST client.
+ Prerequisites- The target OpenSearch cluster is available.
- The server that runs the Java code can communicate with the OpenSearch cluster.
- Depending on the network configuration method used, obtain the cluster access address. For details, see Network Configuration.
- Java has been installed on the server and the JDK version is 11 or later. Download JDK 11 from Java Archive Downloads.
+
+ Introducing DependenciesIntroduce the required Java dependencies on the server where you run Java code.
+ CSS allows you to use the Elasticsearch 7.10 Java client to connect to OpenSearch clusters. To ensure better compatibility, however, you are advised to use an OpenSearch Java client that has the same version as the target OpenSearch cluster.
+ If your High Level REST Client version is later than the OpenSearch cluster version and there are incompatibility issues with some requests, you can use RestHighLevelClient.getLowLevelClient() to obtain the Low Level REST Client and customize OpenSearch requests. For details, see Accessing an OpenSearch Cluster Using the Low Level REST Client.
+ Select a reference example based on the Java client you use.
+ Scenario 1 (recommended): Use the OpenSearch Java client to access an OpenSearch cluster and introduce dependencies.
+ - Maven:
Replace 1.3.6 with the actual Java client version.
+<dependency>
+ <groupId>org.opensearch.client</groupId>
+ <artifactId>opensearch-rest-high-level-client</artifactId>
+ <version>1.3.6</version>
+</dependency>
+ - Gradle:
Replace 1.3.6 with the actual Java client version.
+compile group: 'org.opensearch.client', name: 'opensearch-rest-high-level-client', version: '1.3.6'
+
+ Scenario 2: Use the Elasticsearch 7.10.2 Java client to access an OpenSearch cluster and introduce dependencies.
+ - Maven:
<dependency>
+ <groupId>org.elasticsearch.client</groupId>
+ <artifactId>elasticsearch-rest-high-level-client</artifactId>
+ <version>7.10.2</version>
+</dependency>
+<dependency>
+ <groupId>org.elasticsearch</groupId>
+ <artifactId>elasticsearch</artifactId>
+ <version>7.10.2</version>
+</dependency>
+ - Gradle:
compile group: 'org.elasticsearch.client', name: 'elasticsearch-rest-high-level-client', version: '7.10.2'
+
+
+ Accessing a ClusterThe sample code varies depending on the Java client and the security mode settings of the target OpenSearch cluster. Select the right reference document based on your service scenario.
+
+
+
+ Connecting to a Non-Security Mode Cluster Using the OpenSearch High Level REST ClientUse the OpenSearch High Level REST Client to connect to an OpenSearch cluster for which the security mode is disabled, and query whether the test index exists. The sample code is as follows:
+ import org.apache.http.HttpHost;
+import org.opensearch.client.RequestOptions;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+import org.opensearch.client.RestHighLevelClient;
+import org.opensearch.client.indices.GetIndexRequest;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+public class RestHighLevelClientExample {
+ public static void main(String[] args) throws IOException {
+ List<String> host = Arrays.asList("{Cluster access address}");
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, 9200, "http"));
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ GetIndexRequest indexRequest = new GetIndexRequest("test");
+ boolean exists = client.indices().exists(indexRequest, RequestOptions.DEFAULT);
+ System.out.println(exists);
+ client.close();
+ }
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+}
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the OpenSearch High Level REST Client (Without a Certificate)Use the OpenSearch High Level REST Client to connect to a security-mode OpenSearch cluster (HTTP or HTTPS) without loading a security certificate, and query whether the test index exists. The sample code is as follows:
+ import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.opensearch.action.admin.cluster.health.ClusterHealthRequest;
+import org.opensearch.action.admin.cluster.health.ClusterHealthResponse;
+import org.opensearch.client.RequestOptions;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+import org.opensearch.client.RestHighLevelClient;
+import org.opensearch.client.indices.GetIndexRequest;
+import org.opensearch.common.Nullable;
+import java.io.IOException;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+/**
+ *Connect to a security-model cluster using the High Level REST Client (without a certificate).
+ */
+public class RestHighLevelClientExample {
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestHighLevelClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password) throws IOException{
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ sc = SSLContext.getInstance("SSL");
+ sc.init(null, trustAllCerts, new SecureRandom());
+ } catch (KeyManagementException | NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NullHostNameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ logger.info("opensearch rest client build success {} ", client);
+
+ ClusterHealthRequest request = new ClusterHealthRequest();
+ ClusterHealthResponse response = client.cluster().health(request, RequestOptions.DEFAULT);
+ logger.info("opensearch rest client health response {} ", response);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+
+ /**
+ * Configure trustAllCerts to ignore the certificate configuration.
+ */
+ public static TrustManager[] trustAllCerts = new TrustManager[] {
+ new X509TrustManager() {
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ }
+ };
+
+ private static final Logger logger = LogManager.getLogger(RestHighLevelClientExampleHttpWithSecurityNoCert.class);
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+ /**
+ * The {@link SSLIOSessionStrategy} for all requests to enable SSL / TLS encryption.
+ */
+ private final SSLIOSessionStrategy sslStrategy;
+ /**
+ * Create a new {@link SecuredHttpClientConfigCallback}.
+ *
+ * @param credentialsProvider The credential provider, if a username/password have been supplied
+ * @param sslStrategy The SSL strategy, if SSL / TLS have been supplied
+ * @throws NullPointerException if {@code sslStrategy} is {@code null}
+ */
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+ /**
+ * Get the {@link CredentialsProvider} that will be added to the HTTP client.
+ *
+ * @return Can be {@code null}.
+ */
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+ /**
+ * Get the {@link SSLIOSessionStrategy} that will be added to the HTTP client.
+ *
+ * @return Never {@code null}.
+ */
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+ /**
+ * Sets the {@linkplain HttpAsyncClientBuilder#setDefaultCredentialsProvider(CredentialsProvider) credential provider},
+ *
+ * @param httpClientBuilder The client to configure.
+ * @return Always {@code httpClientBuilder}.
+ */
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ // enable SSL / TLS
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ // enable user authentication
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }
+ }
+
+ public static class NullHostNameVerifier implements HostnameVerifier {
+ @Override
+ public boolean verify(String arg0, SSLSession arg1) {
+ return true;
+ }
+ }
+
+ /**
+ * The following is an example of the main function. Call the create function to create a client and check whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestHighLevelClient client = create(Arrays.asList("{host}"), 9200, "https", 30000, 30000, 30000, "username", "password");
+ GetIndexRequest indexRequest = new GetIndexRequest("test");
+ boolean exists = client.indices().exists(indexRequest, RequestOptions.DEFAULT);
+ System.out.println(exists);
+ client.close();
+ }
+}
+
+ Table 2 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol, which can be http or https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the OpenSearch High Level REST Client (With a Certificate)Use the OpenSearch High Level REST Client to connect to a security-mode OpenSearch cluster that uses HTTPS with a security certificate loaded, and query whether the test index exists. The sample code is as follows:
+
+ import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.opensearch.action.admin.cluster.health.ClusterHealthRequest;
+import org.opensearch.action.admin.cluster.health.ClusterHealthResponse;
+import org.opensearch.client.RequestOptions;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+import org.opensearch.client.RestHighLevelClient;
+import org.opensearch.client.indices.GetIndexRequest;
+import org.opensearch.common.Nullable;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyStore;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.X509TrustManager;
+/**
+ * Use Hive Level REST Client to connect to a security-mode cluster (with an HTTPS certificate).
+ */
+public class RestHighLevelClientExample {
+ public static RestHighLevelClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password, String certFilePath,
+ String certPassword) throws IOException {
+
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ TrustManager[] tm = {new MyX509TrustManager(certFilePath, certPassword)};
+ sc = SSLContext.getInstance("SSL", "SunJSSE");
+ //You can also use SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
+ sc.init(null, tm, new SecureRandom());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NoopHostnameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ logger.info("opensearch rest client build success {} ", client);
+
+ ClusterHealthRequest request = new ClusterHealthRequest();
+ ClusterHealthResponse response = client.cluster().health(request, RequestOptions.DEFAULT);
+ logger.info("opensearch rest client health response {} ", response);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+
+ /**
+ * SecuredHttpClientConfigCallback class definition
+ */
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+
+ private final SSLIOSessionStrategy sslStrategy;
+
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }
+ }
+
+ private static final Logger logger = LogManager.getLogger(RestHighLevelClient.class);
+
+ public static class MyX509TrustManager implements X509TrustManager {
+ X509TrustManager sunJSSEX509TrustManager;
+
+ MyX509TrustManager(String certFilePath, String certPassword) throws Exception {
+ File file = new File(certFilePath);
+ if (!file.isFile()) {
+ throw new Exception("Wrong Certification Path");
+ }
+ System.out.println("Loading KeyStore " + file + "...");
+ InputStream in = new FileInputStream(file);
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(in, certPassword.toCharArray());
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509", "SunJSSE");
+ tmf.init(ks);
+ TrustManager[] tms = tmf.getTrustManagers();
+ for (TrustManager tm : tms) {
+ if (tm instanceof X509TrustManager) {
+ sunJSSEX509TrustManager = (X509TrustManager) tm;
+ return;
+ }
+ }
+ throw new Exception("Couldn't initialize");
+ }
+
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[0];
+ }
+ }
+
+ /**
+ * The following is an example of the main function. Call the create function to create a client and check whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestHighLevelClient client = create(Arrays.asList("{host}"), 9200, "https", 30000, 30000, 30000, "username", "password", "certFilePath", "certPassword");
+ GetIndexRequest indexRequest = new GetIndexRequest("test");
+ boolean exists = client.indices().exists(indexRequest, RequestOptions.DEFAULT);
+ System.out.println(exists);
+ client.close();
+ }
+}
+
+ Table 3 Function parametersParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol. Set this parameter to https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+certFilePath
+ |
+Path for storing the security certificate.
+ |
+
+certPassword
+ |
+Password of the security certificate.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Non-Security Mode Cluster Using the Elasticsearch High Level REST ClientUse the Elasticsearch 7.10.2 High Level REST Client to connect to an OpenSearch cluster for which the security mode is disabled, and query whether the test index exists. The sample code is as follows:
+ import org.apache.http.HttpHost;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestClientBuilder;
+import org.elasticsearch.client.RestHighLevelClient;
+import org.elasticsearch.client.indices.GetIndexRequest;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+public class RestHighLevelClientExample {
+ public static void main(String[] args) throws IOException {
+ List<String> host = Arrays.asList("{Cluster access address}");
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, 9200, "http"));
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ GetIndexRequest indexRequest = new GetIndexRequest("test");
+ boolean exists = client.indices().exists(indexRequest, RequestOptions.DEFAULT);
+ System.out.println(exists);
+ client.close();
+ }
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+}
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the Elasticsearch High Level REST Client (Without a Certificate)Use the Elasticsearch 7.10.2 High Level REST Client to connect to a security-mode OpenSearch cluster (HTTP or HTTPS) without loading a security certificate, and query whether the test index exists. The sample code is as follows:
+ import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
+import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestClientBuilder;
+import org.elasticsearch.client.RestHighLevelClient;
+import org.elasticsearch.client.indices.GetIndexRequest;
+import org.elasticsearch.common.Nullable;
+
+import java.io.IOException;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+/**
+ *Connect to a security-model cluster using the High Level REST Client (without a certificate).
+ */
+public class RestHighLevelClientExample {
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestHighLevelClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password) throws IOException{
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ sc = SSLContext.getInstance("SSL");
+ sc.init(null, trustAllCerts, new SecureRandom());
+ } catch (KeyManagementException | NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NullHostNameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ logger.info("es rest client build success {} ", client);
+
+ ClusterHealthRequest request = new ClusterHealthRequest();
+ ClusterHealthResponse response = client.cluster().health(request, RequestOptions.DEFAULT);
+ logger.info("es rest client health response {} ", response);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+
+ /**
+ * Configure trustAllCerts to ignore the certificate configuration.
+ */
+ public static TrustManager[] trustAllCerts = new TrustManager[] {
+ new X509TrustManager() {
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ }
+ };
+
+ private static final Logger logger = LogManager.getLogger(RestHighLevelClientExampleHttpWithSecurityNoCert.class);
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+ /**
+ * The {@link SSLIOSessionStrategy} for all requests to enable SSL / TLS encryption.
+ */
+ private final SSLIOSessionStrategy sslStrategy;
+ /**
+ * Create a new {@link SecuredHttpClientConfigCallback}.
+ *
+ * @param credentialsProvider The credential provider, if a username/password have been supplied
+ * @param sslStrategy The SSL strategy, if SSL / TLS have been supplied
+ * @throws NullPointerException if {@code sslStrategy} is {@code null}
+ */
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+ /**
+ * Get the {@link CredentialsProvider} that will be added to the HTTP client.
+ *
+ * @return Can be {@code null}.
+ */
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+ /**
+ * Get the {@link SSLIOSessionStrategy} that will be added to the HTTP client.
+ *
+ * @return Never {@code null}.
+ */
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+ /**
+ * Sets the {@linkplain HttpAsyncClientBuilder#setDefaultCredentialsProvider(CredentialsProvider) credential provider},
+ *
+ * @param httpClientBuilder The client to configure.
+ * @return Always {@code httpClientBuilder}.
+ */
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ // enable SSL / TLS
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ // enable user authentication
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }
+ }
+
+ public static class NullHostNameVerifier implements HostnameVerifier {
+ @Override
+ public boolean verify(String arg0, SSLSession arg1) {
+ return true;
+ }
+ }
+
+ /**
+ * The following is an example of the main function. Call the create function to create a client and check whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestHighLevelClient client = create(Arrays.asList("{host}"), 9200, "https", 30000, 30000, 30000, "username", "password");
+ GetIndexRequest indexRequest = new GetIndexRequest("test");
+ boolean exists = client.indices().exists(indexRequest, RequestOptions.DEFAULT);
+ System.out.println(exists);
+ client.close();
+ }
+}
+
+ Table 4 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol, which can be http or https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the Elasticsearch High Level REST Client (With a Certificate)Use the Elasticsearch 7.10.2 High Level REST Client to connect to a security-mode OpenSearch cluster that uses HTTPS with a security certificate loaded, and query whether the test index exists. The sample code is as follows:
+ import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
+import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestClientBuilder;
+import org.elasticsearch.client.RestHighLevelClient;
+import org.elasticsearch.client.indices.GetIndexRequest;
+import org.elasticsearch.common.Nullable;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyStore;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.X509TrustManager;
+/**
+ * Use Hive Level REST Client to connect to a security-mode cluster (with an HTTPS certificate).
+ */
+public class RestHighLevelClientExample {
+ public static RestHighLevelClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password, String certFilePath,
+ String certPassword) throws IOException {
+
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ TrustManager[] tm = {new MyX509TrustManager(certFilePath, certPassword)};
+ sc = SSLContext.getInstance("SSL", "SunJSSE");
+ //You can also use SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
+ sc.init(null, tm, new SecureRandom());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NoopHostnameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ logger.info("es rest client build success {} ", client);
+
+ ClusterHealthRequest request = new ClusterHealthRequest();
+ ClusterHealthResponse response = client.cluster().health(request, RequestOptions.DEFAULT);
+ logger.info("es rest client health response {} ", response);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+
+ /**
+ * SecuredHttpClientConfigCallback class definition
+ */
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+
+ private final SSLIOSessionStrategy sslStrategy;
+
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }
+ }
+
+ private static final Logger logger = LogManager.getLogger(RestHighLevelClient.class);
+
+ public static class MyX509TrustManager implements X509TrustManager {
+ X509TrustManager sunJSSEX509TrustManager;
+
+ MyX509TrustManager(String certFilePath, String certPassword) throws Exception {
+ File file = new File(certFilePath);
+ if (!file.isFile()) {
+ throw new Exception("Wrong Certification Path");
+ }
+ System.out.println("Loading KeyStore " + file + "...");
+ InputStream in = new FileInputStream(file);
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(in, certPassword.toCharArray());
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509", "SunJSSE");
+ tmf.init(ks);
+ TrustManager[] tms = tmf.getTrustManagers();
+ for (TrustManager tm : tms) {
+ if (tm instanceof X509TrustManager) {
+ sunJSSEX509TrustManager = (X509TrustManager) tm;
+ return;
+ }
+ }
+ throw new Exception("Couldn't initialize");
+ }
+
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[0];
+ }
+ }
+
+ /**
+ * The following is an example of the main function. Call the create function to create a client and check whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestHighLevelClient client = create(Arrays.asList("{host}"), 9200, "https", 30000, 30000, 30000, "username", "password", "certFilePath", "certPassword");
+ GetIndexRequest indexRequest = new GetIndexRequest("test");
+ boolean exists = client.indices().exists(indexRequest, RequestOptions.DEFAULT);
+ System.out.println(exists);
+ client.close();
+ }
+}
+
+ Table 5 Function parametersParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol. Set this parameter to https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+certFilePath
+ |
+Path for storing the security certificate.
+ |
+
+certPassword
+ |
+Password of the security certificate.
+ |
+
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Obtaining and Uploading a Security CertificateTo access a security-mode OpenSearch cluster that uses HTTPS, a security certificate must be loaded. Perform the following steps to obtain the security certificate and upload it to the client:
+ - Obtain the security certificate CloudSearchService.cer.
- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > OpenSearch.
- In the cluster list, click the name of the target cluster. The cluster information page is displayed.
- Click the Overview tab. In the Configuration area, click Download Certificate next to HTTPS Access.
+ - Convert the security certificate CloudSearchService.cer. Upload the downloaded security certificate to the client and use keytool to convert the .cer certificate into a .jks certificate that can be read by Java.
+
In the preceding command, newname indicates the user-defined certificate name.
+After this command is executed, you will be prompted to set the certificate password and confirm the password. Securely store the password. It will be used for accessing the cluster.
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0033.html b/docs/css/umn/css_01_0033.html
new file mode 100644
index 000000000..3e51fe554
--- /dev/null
+++ b/docs/css/umn/css_01_0033.html
@@ -0,0 +1,19 @@
+
+
+ Backing up and Restoring the Data of an Elasticsearch Cluster
+
+
+
diff --git a/docs/css/umn/css_01_0037.html b/docs/css/umn/css_01_0037.html
new file mode 100644
index 000000000..562b17e26
--- /dev/null
+++ b/docs/css/umn/css_01_0037.html
@@ -0,0 +1,3584 @@
+
+
+ Accessing an OpenSearch Cluster Using the Low Level REST Client
+ You can query and manage data in a CSS OpenSearch cluster using the Low Level REST Client. The Low Level REST Client encapsulates OpenSearch APIs. You only need to construct the required structures to access an OpenSearch cluster. This simplifies the process of working with an OpenSearch cluster. The Low Level REST Client allows you to customize the request structure, which is more flexible and supports all the request formats of OpenSearch, such as GET, POST, DELETE, and HEAD.
+ You can access an OpenSearch cluster with the Low Level REST Client using either of the following ways: directly creating the Low Level REST Client; or creating the High Level REST Client first and then calling RestHighLevelClient.getLowLevelClient() to obtain the Low Level REST Client.
+ Prerequisites- The target OpenSearch cluster is available.
- The server that runs the Java code can communicate with the OpenSearch cluster.
- Depending on the network configuration method used, obtain the cluster access address. For details, see Network Configuration.
- Java has been installed on the server and the JDK version is 11 or later. Download JDK 11 from Java Archive Downloads.
+
+ Introducing DependenciesIntroduce the required Java dependencies on the server where you run Java code.
+ CSS allows you to use the Elasticsearch 7.10 Java client to connect to OpenSearch clusters. To ensure better compatibility, however, you are advised to use an OpenSearch Java client that has the same version as the target OpenSearch cluster.
+ Select a reference example based on the Java client you use.
+ - Scenario 1 (recommended): Use the OpenSearch Java client to access the OpenSearch cluster and introduce the Apache version using Maven.
Replace 1.3.6 with the actual Java client version.
+<dependency>
+ <groupId>org.opensearch.client</groupId>
+ <artifactId>opensearch-rest-high-level-client</artifactId>
+ <version>1.3.6</version>
+</dependency>
+ - Scenario 2: Use the Elasticsearch 7.10.2 Java client to access the OpenSearch cluster and introduce the Apache version using Maven.
<dependency>
+ <groupId>org.elasticsearch.client</groupId>
+ <artifactId>elasticsearch-rest-client</artifactId>
+ <version>7.10.2</version>
+</dependency>
+<dependency>
+ <groupId>org.elasticsearch</groupId>
+ <artifactId>elasticsearch</artifactId>
+ <version>7.10.2</version>
+</dependency>
+
+
+ Accessing a ClusterThe sample code varies depending on the Java client and the security mode settings of the target OpenSearch cluster. Select the right reference document based on your service scenario.
+
+
+
+ Connecting to a Non-Security Mode Cluster Using the OpenSearch Low Level REST ClientUse the OpenSearch Low Level REST Client to connect to an OpenSearch cluster for which the security mode is disabled, and query whether the test index exists. The sample code is as follows:
+ import org.apache.http.HttpHost;
+import org.opensearch.client.Request;
+import org.opensearch.client.Response;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+public class RestLowLevelClientExample {
+ public static void main(String[] args) throws IOException {
+ List<String> host = Arrays.asList("{Cluster access address}");
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, 9200, "http"));
+ /**
+ *Create the Low Level Rest Client.
+ */
+ RestClient lowLevelClient = builder.build();
+ /**
+ * Check whether the test index exists. If the index exists, 200 is returned. If the index does not exist, 404 is returned.
+ */
+ Request request = new Request("HEAD", "/test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+}
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the OpenSearch Low Level REST Client (Without a Certificate)Use the OpenSearch Low Level REST Client to connect to a security-mode OpenSearch cluster (HTTP or HTTPS) without loading a security certificate, and query whether the test index exists. The sample code is as follows:
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189 | import org.apache.http.HttpHost;
+import org.apache.http.HttpResponse;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.http.protocol.HttpContext;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.opensearch.client.Request;
+import org.opensearch.client.Response;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+import org.opensearch.common.Nullable;
+import java.io.IOException;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;
+
+public class RestLowLevelClientExample {
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password) throws IOException {
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ sc = SSLContext.getInstance("SSL");
+ sc.init(null, trustAllCerts, new SecureRandom());
+ } catch (KeyManagementException | NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NullHostNameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestClient client = builder.build();
+ logger.info("opensearch rest client build success {} ", client);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+
+ /**
+ * Configure trustAllCerts to ignore the certificate configuration.
+ */
+ public static TrustManager[] trustAllCerts = new TrustManager[] {
+ new X509TrustManager() {
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ }
+ };
+
+ /**
+* The CustomConnectionKeepAliveStrategy function is used to set the connection keepalive during when there are a large number of short connections or when there are not many data requests.
+ */
+ public static class CustomConnectionKeepAliveStrategy extends DefaultConnectionKeepAliveStrategy {
+ public static final CustomConnectionKeepAliveStrategy INSTANCE = new CustomConnectionKeepAliveStrategy();
+
+ private CustomConnectionKeepAliveStrategy() {
+ super();
+ }
+
+ /**
+ * Maximum keepalive time (in minutes)
+ * The default value is 10 minutes. You can set it based on the number of TCP connections in TIME_WAIT state. If there are too many TCP connections, you can increase this value.
+ */
+ private final long MAX_KEEP_ALIVE_MINUTES = 10;
+
+ @Override
+ public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
+ long keepAliveDuration = super.getKeepAliveDuration(response, context);
+ // <0 indicates that the keepalive period is unlimited.
+ // Change the period from unlimited to a default period.
+ if (keepAliveDuration < 0) {
+ return TimeUnit.MINUTES.toMillis(MAX_KEEP_ALIVE_MINUTES);
+ }
+ return keepAliveDuration;
+ }
+ }
+
+ private static final Logger logger = LogManager.getLogger(RestLowLevelClientExample.class);
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+ /**
+ * The {@link SSLIOSessionStrategy} for all requests to enable SSL / TLS encryption.
+ */
+ private final SSLIOSessionStrategy sslStrategy;
+ /**
+ * Create a new {@link SecuredHttpClientConfigCallback}.
+ *
+ * @param credentialsProvider The credential provider, if a username/password have been supplied
+ * @param sslStrategy The SSL strategy, if SSL / TLS have been supplied
+ * @throws NullPointerException if {@code sslStrategy} is {@code null}
+ */
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+ /**
+ * Get the {@link CredentialsProvider} that will be added to the HTTP client.
+ *
+ * @return Can be {@code null}.
+ */
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+ /**
+ * Get the {@link SSLIOSessionStrategy} that will be added to the HTTP client.
+ *
+ * @return Never {@code null}.
+ */
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+ /**
+ * Sets the {@linkplain HttpAsyncClientBuilder#setDefaultCredentialsProvider(CredentialsProvider) credential provider},
+ *
+ * @param httpClientBuilder The client to configure.
+ * @return Always {@code httpClientBuilder}.
+ */
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ // enable SSL / TLS
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ // enable user authentication
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }
+ }
+
+ public static class NullHostNameVerifier implements HostnameVerifier {
+ @Override
+ public boolean verify(String arg0, SSLSession arg1) {
+ return true;
+ }
+ }
+
+ /**
+ * The following is an example of the main function. Call the create function to create a Low Level REST Client and check whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestClient lowLevelClient = create(Arrays.asList("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx"), 9200, "http", 30000, 30000, 30000, "username", "password");
+ Request request = new Request("HEAD", "/test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+}
+ |
+
+
+ Table 2 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol, which can be http or https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the OpenSearch Low Level REST Client (With a Certificate)Use the OpenSearch Low Level REST Client to connect to a security-mode OpenSearch cluster that uses HTTPS with a security certificate loaded, and query whether the test index exists. The sample code is as follows:
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153 | import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.opensearch.client.Request;
+import org.opensearch.client.Response;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+import org.opensearch.common.Nullable;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyStore;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+
+import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.X509TrustManager;
+
+public class RestLowLevelClientExample {
+
+ private static final Logger logger = LogManager.getLogger(RestLowLevelClientExample.class);
+
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password, String certFilePath, String certPassword) throws IOException {
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ TrustManager[] tm = {new MyX509TrustManager(certFilePath, certPassword)};
+ sc = SSLContext.getInstance("SSL", "SunJSSE");
+ //You can also use SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
+ sc.init(null, tm, new SecureRandom());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NoopHostnameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestClient client = builder.build();
+ logger.info("opensearch rest client build success {} ", client);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);}
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+
+ private final SSLIOSessionStrategy sslStrategy;
+
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }}
+
+ public static class MyX509TrustManager implements X509TrustManager {
+ X509TrustManager sunJSSEX509TrustManager;
+
+ MyX509TrustManager(String certFilePath, String certPassword) throws Exception {
+ File file = new File(certFilePath);
+ if (!file.isFile()) {
+ throw new Exception("Wrong Certification Path");
+ }
+ System.out.println("Loading KeyStore " + file + "...");
+ InputStream in = new FileInputStream(file);
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(in, certPassword.toCharArray());
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509", "SunJSSE");
+ tmf.init(ks);
+ TrustManager[] tms = tmf.getTrustManagers();
+ for (TrustManager tm : tms) {
+ if (tm instanceof X509TrustManager) {
+ sunJSSEX509TrustManager = (X509TrustManager) tm;
+ return;
+ }
+ }
+ throw new Exception("Couldn't initialize");
+ }
+
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[0];
+ }
+ }
+
+ /**
+ * The following is an example of the main function. Call the create function to create a Low Level REST Client and check whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestClient lowLevelClient = create(Arrays.asList("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx"), 9200, "https", 30000, 30000, 30000, "username", "password", "certFilePath", "certPassword");
+ Request request = new Request("HEAD", "test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+}
+ |
+
+
+ Table 3 Function parametersParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol. Set this parameter to https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+certFilePath
+ |
+Path for storing the security certificate.
+ |
+
+certPassword
+ |
+Password of the security certificate.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Non-Security Mode Cluster Using the OpenSearch High Level REST ClientUse the OpenSearch High Level REST Client to obtain the Low Level REST Client by calling getLowLevelClient(), use the low-level client to connect to an OpenSearch cluster for which the security mode is disabled, and query whether the test index exists. The sample code is as follows:
+ import org.apache.http.HttpHost;
+import org.opensearch.client.Request;
+import org.opensearch.client.Response;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+import org.opensearch.client.RestHighLevelClient;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+public class RestLowLevelClientExample {
+
+ public static void main(String[] args) throws IOException {
+ List<String> host = Arrays.asList("{Cluster access address}");
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, 9200, "http"));
+ final RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder);
+ /**
+ * Create a high-level client and then call getLowLevelClient() to obtain a low-level client. The code differs from the client creation code only in the following line:
+ */
+ final RestClient lowLevelClient = restHighLevelClient.getLowLevelClient();
+ /**
+ * Check whether the test index exists. If the index exists, 200 is returned. If the index does not exist, 404 is returned.
+ */
+ Request request = new Request("HEAD", "/test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+}
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the OpenSearch High Level REST Client (Without a Certificate)Use the OpenSearch High Level REST Client to obtain the Low Level REST Client by calling getLowLevelClient(), use the low-level client to connect to a security-mode OpenSearch cluster that uses HTTP or HTTPS without loading a security certificate, and query whether the test index exists. The sample code is as follows:
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195 | import org.apache.http.HttpHost;
+import org.apache.http.HttpResponse;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.http.protocol.HttpContext;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.opensearch.client.Request;
+import org.opensearch.client.Response;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+import org.opensearch.client.RestHighLevelClient;
+import org.opensearch.common.Nullable;
+
+import java.io.IOException;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;
+
+public class RestLowLevelClientExample {
+
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestHighLevelClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password) throws IOException {
+
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ sc = SSLContext.getInstance("SSL");
+ sc.init(null, trustAllCerts, new SecureRandom());
+ } catch (KeyManagementException | NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NullHostNameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ logger.info("opensearch rest client build success {} ", client);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+
+ /**
+ * Configure trustAllCerts to ignore the certificate configuration.
+ */
+ public static TrustManager[] trustAllCerts = new TrustManager[] {
+ new X509TrustManager() {
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ }
+ };
+
+ /**
+* The CustomConnectionKeepAliveStrategy function is used to set the connection keepalive during when there are a large number of short connections or when there are not many data requests.
+ */
+ public static class CustomConnectionKeepAliveStrategy extends DefaultConnectionKeepAliveStrategy {
+ public static final CustomConnectionKeepAliveStrategy INSTANCE = new CustomConnectionKeepAliveStrategy();
+
+ private CustomConnectionKeepAliveStrategy() {
+ super();
+ }
+
+ /**
+ * Maximum keepalive time (in minutes)
+ * The default value is 10 minutes. You can set it based on the number of TCP connections in TIME_WAIT state. If there are too many TCP connections, you can increase this value.
+ */
+ private final long MAX_KEEP_ALIVE_MINUTES = 10;
+
+ @Override
+ public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
+ long keepAliveDuration = super.getKeepAliveDuration(response, context);
+ // <0 indicates an unlimited keepalive period.
+ // Change the period from unlimited to a default period.
+ if (keepAliveDuration < 0) {
+ return TimeUnit.MINUTES.toMillis(MAX_KEEP_ALIVE_MINUTES);
+ }
+ return keepAliveDuration;
+ }
+ }
+
+ private static final Logger logger = LogManager.getLogger(RestLowLevelClientExample.class);
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+ /**
+ * The {@link SSLIOSessionStrategy} for all requests to enable SSL / TLS encryption.
+ */
+ private final SSLIOSessionStrategy sslStrategy;
+ /**
+ * Create a new {@link SecuredHttpClientConfigCallback}.
+ *
+ * @param credentialsProvider The credential provider, if a username/password have been supplied
+ * @param sslStrategy The SSL strategy, if SSL / TLS have been supplied
+ * @throws NullPointerException if {@code sslStrategy} is {@code null}
+ */
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+ /**
+ * Get the {@link CredentialsProvider} that will be added to the HTTP client.
+ *
+ * @return Can be {@code null}.
+ */
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+ /**
+ * Get the {@link SSLIOSessionStrategy} that will be added to the HTTP client.
+ *
+ * @return Never {@code null}.
+ */
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+ /**
+ * Sets the {@linkplain HttpAsyncClientBuilder#setDefaultCredentialsProvider(CredentialsProvider) credential provider},
+ *
+ * @param httpClientBuilder The client to configure.
+ * @return Always {@code httpClientBuilder}.
+ */
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ // enable SSL / TLS
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ // enable user authentication
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }
+ }
+
+ public static class NullHostNameVerifier implements HostnameVerifier {
+ @Override
+ public boolean verify(String arg0, SSLSession arg1) {
+ return true;
+ }
+ }
+
+ /**
+* The following is an example of the main function. Call the create function to create the high-level client, then call the getLowLevelClient() function to obtain the low-level client, and query whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestHighLevelClient client = create(Arrays.asList("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx"), 9200, "http", 30000, 30000, 30000, "username", "password");
+ RestClient lowLevelClient = client.getLowLevelClient();
+ Request request = new Request("HEAD", "test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+}
+ |
+
+
+ Table 4 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol, which can be http or https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the OpenSearch High Level REST Client (With a Certificate)Use the OpenSearch High Level REST Client to connect to a security-mode OpenSearch cluster that uses HTTPS with a security certificate loaded, and query whether the test index exists. The sample code is as follows:
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160 | import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.opensearch.action.admin.cluster.health.ClusterHealthRequest;
+import org.opensearch.action.admin.cluster.health.ClusterHealthResponse;
+import org.opensearch.client.Request;
+import org.opensearch.client.RequestOptions;
+import org.opensearch.client.Response;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+import org.opensearch.client.RestHighLevelClient;
+import org.opensearch.common.Nullable;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyStore;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.X509TrustManager;
+
+public class RestLowLevelClientExample {
+ private static final Logger logger = LogManager.getLogger(RestLowLevelClientExample.class);
+
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestHighLevelClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password, String certFilePath, String certPassword) throws IOException {
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ TrustManager[] tm = {new MyX509TrustManager(certFilePath, certPassword)};
+ sc = SSLContext.getInstance("SSL", "SunJSSE");
+ //You can also use SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
+ sc.init(null, tm, new SecureRandom());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NoopHostnameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ logger.info("opensearch rest client build success {} ", client);
+
+ ClusterHealthRequest request = new ClusterHealthRequest();
+ ClusterHealthResponse response = client.cluster().health(request, RequestOptions.DEFAULT);
+ logger.info("opensearch rest client health response {} ", response);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);}
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+
+ private final SSLIOSessionStrategy sslStrategy;
+
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }}
+
+ public static class MyX509TrustManager implements X509TrustManager {
+ X509TrustManager sunJSSEX509TrustManager;
+
+ MyX509TrustManager(String certFilePath, String certPassword) throws Exception {
+ File file = new File(certFilePath);
+ if (!file.isFile()) {
+ throw new Exception("Wrong Certification Path");
+ }
+ System.out.println("Loading KeyStore " + file + "...");
+ InputStream in = new FileInputStream(file);
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(in, certPassword.toCharArray());
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509", "SunJSSE");
+ tmf.init(ks);
+ TrustManager[] tms = tmf.getTrustManagers();
+ for (TrustManager tm : tms) {
+ if (tm instanceof X509TrustManager) {
+ sunJSSEX509TrustManager = (X509TrustManager) tm;
+ return;
+ }
+ }
+ throw new Exception("Couldn't initialize");
+ }
+
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[0];
+ }
+ }
+
+ /**
+* The following is an example of the main function. Call the create function to create the high-level client, then call the getLowLevelClient() function to obtain the low-level client, and query whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestHighLevelClient client = create(Arrays.asList("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx"), 9200, "https", 30000, 30000, 30000, "username", "password", "certFilePath", "certPassword");
+ RestClient lowLevelClient = client.getLowLevelClient();
+ Request request = new Request("HEAD", "test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+}
+ |
+
+
+ Table 5 Function parametersParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol. Set this parameter to https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+certFilePath
+ |
+Path for storing the security certificate.
+ |
+
+certPassword
+ |
+Password of the security certificate.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Non-Security Mode Cluster Using the Elasticsearch Low Level REST ClientUse the Elasticsearch 7.10.2 Low Level REST Client to connect to an OpenSearch cluster for which the security mode is disabled, and query whether the test index exists. The sample code is as follows:
+ import org.apache.http.HttpHost;
+import org.elasticsearch.client.Request;
+import org.elasticsearch.client.Response;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestClientBuilder;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+public class RestLowLevelClientExample {
+ public static void main(String[] args) throws IOException {
+ List<String> host = Arrays.asList("{Cluster access address}");
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, 9200, "http"));
+ /**
+ *Create the Low Level Rest Client.
+ */
+ RestClient lowLevelClient = builder.build();
+ /**
+ * Check whether the test index exists. If the index exists, 200 is returned. If the index does not exist, 404 is returned.
+ */
+ Request request = new Request("HEAD", "/test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+}
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the Elasticsearch Low Level REST Client (Without a Certificate)Use the Elasticsearch 7.10.2 Low Level REST Client to connect to a security-mode OpenSearch cluster (HTTP or HTTPS) without loading a security certificate, and query whether the test index exists. The sample code is as follows:
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190 | import org.apache.http.HttpHost;
+import org.apache.http.HttpResponse;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.http.protocol.HttpContext;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.elasticsearch.client.Request;
+import org.elasticsearch.client.Response;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestClientBuilder;
+import org.elasticsearch.common.Nullable;
+
+import java.io.IOException;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;
+
+public class RestLowLevelClientExample {
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password) throws IOException {
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ sc = SSLContext.getInstance("SSL");
+ sc.init(null, trustAllCerts, new SecureRandom());
+ } catch (KeyManagementException | NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NullHostNameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestClient client = builder.build();
+ logger.info("es rest client build success {} ", client);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+
+ /**
+ * Configure trustAllCerts to ignore the certificate configuration.
+ */
+ public static TrustManager[] trustAllCerts = new TrustManager[] {
+ new X509TrustManager() {
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ }
+ };
+
+ /**
+* The CustomConnectionKeepAliveStrategy function is used to set the connection keepalive during when there are a large number of short connections or when there are not many data requests.
+ */
+ public static class CustomConnectionKeepAliveStrategy extends DefaultConnectionKeepAliveStrategy {
+ public static final CustomConnectionKeepAliveStrategy INSTANCE = new CustomConnectionKeepAliveStrategy();
+
+ private CustomConnectionKeepAliveStrategy() {
+ super();
+ }
+
+ /**
+ * Maximum keepalive time (in minutes)
+ * The default value is 10 minutes. You can set it based on the number of TCP connections in TIME_WAIT state. If there are too many TCP connections, you can increase this value.
+ */
+ private final long MAX_KEEP_ALIVE_MINUTES = 10;
+
+ @Override
+ public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
+ long keepAliveDuration = super.getKeepAliveDuration(response, context);
+ // <0 indicates an unlimited keepalive period.
+ // Change the period from unlimited to a default period.
+ if (keepAliveDuration < 0) {
+ return TimeUnit.MINUTES.toMillis(MAX_KEEP_ALIVE_MINUTES);
+ }
+ return keepAliveDuration;
+ }
+ }
+
+ private static final Logger logger = LogManager.getLogger(RestLowLevelClientExample.class);
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+ /**
+ * The {@link SSLIOSessionStrategy} for all requests to enable SSL / TLS encryption.
+ */
+ private final SSLIOSessionStrategy sslStrategy;
+ /**
+ * Create a new {@link SecuredHttpClientConfigCallback}.
+ *
+ * @param credentialsProvider The credential provider, if a username/password have been supplied
+ * @param sslStrategy The SSL strategy, if SSL / TLS have been supplied
+ * @throws NullPointerException if {@code sslStrategy} is {@code null}
+ */
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+ /**
+ * Get the {@link CredentialsProvider} that will be added to the HTTP client.
+ *
+ * @return Can be {@code null}.
+ */
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+ /**
+ * Get the {@link SSLIOSessionStrategy} that will be added to the HTTP client.
+ *
+ * @return Never {@code null}.
+ */
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+ /**
+ * Sets the {@linkplain HttpAsyncClientBuilder#setDefaultCredentialsProvider(CredentialsProvider) credential provider},
+ *
+ * @param httpClientBuilder The client to configure.
+ * @return Always {@code httpClientBuilder}.
+ */
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ // enable SSL / TLS
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ // enable user authentication
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }
+ }
+
+ public static class NullHostNameVerifier implements HostnameVerifier {
+ @Override
+ public boolean verify(String arg0, SSLSession arg1) {
+ return true;
+ }
+ }
+
+ /**
+ * The following is an example of the main function. Call the create function to create a Low Level REST Client and check whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestClient lowLevelClient = create(Arrays.asList("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx"), 9200, "http", 30000, 30000, 30000, "username", "password");
+ Request request = new Request("HEAD", "/test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+}
+ |
+
+
+ Table 6 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol, which can be http or https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the Elasticsearch Low Level REST Client (With a Certificate)Use the Elasticsearch 7.10.2 Low Level REST Client to connect to a security-mode OpenSearch cluster that uses HTTPS with a security certificate loaded, and query whether the test index exists. The sample code is as follows:
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153 | import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.elasticsearch.client.Request;
+import org.elasticsearch.client.Response;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestClientBuilder;
+import org.elasticsearch.common.Nullable;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyStore;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+
+import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.X509TrustManager;
+
+public class RestLowLevelClientExample {
+
+ private static final Logger logger = LogManager.getLogger(RestLowLevelClientExample.class);
+
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password, String certFilePath, String certPassword) throws IOException {
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ TrustManager[] tm = {new MyX509TrustManager(certFilePath, certPassword)};
+ sc = SSLContext.getInstance("SSL", "SunJSSE");
+ //You can also use SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
+ sc.init(null, tm, new SecureRandom());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NoopHostnameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestClient client = builder.build();
+ logger.info("es rest client build success {} ", client);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);}
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+
+ private final SSLIOSessionStrategy sslStrategy;
+
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }}
+
+ public static class MyX509TrustManager implements X509TrustManager {
+ X509TrustManager sunJSSEX509TrustManager;
+
+ MyX509TrustManager(String certFilePath, String certPassword) throws Exception {
+ File file = new File(certFilePath);
+ if (!file.isFile()) {
+ throw new Exception("Wrong Certification Path");
+ }
+ System.out.println("Loading KeyStore " + file + "...");
+ InputStream in = new FileInputStream(file);
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(in, certPassword.toCharArray());
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509", "SunJSSE");
+ tmf.init(ks);
+ TrustManager[] tms = tmf.getTrustManagers();
+ for (TrustManager tm : tms) {
+ if (tm instanceof X509TrustManager) {
+ sunJSSEX509TrustManager = (X509TrustManager) tm;
+ return;
+ }
+ }
+ throw new Exception("Couldn't initialize");
+ }
+
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[0];
+ }
+ }
+
+ /**
+ * The following is an example of the main function. Call the create function to create a Low Level REST Client and check whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestClient lowLevelClient = create(Arrays.asList("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx"), 9200, "https", 30000, 30000, 30000, "username", "password", "certFilePath", "certPassword");
+ Request request = new Request("HEAD", "test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+}
+ |
+
+
+ Table 7 Function parametersParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol. Set this parameter to https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+certFilePath
+ |
+Path for storing the security certificate.
+ |
+
+certPassword
+ |
+Password of the security certificate.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Non-Security Mode Cluster Using the Elasticsearch High Level REST ClientUse the Elasticsearch 7.10.2 High Level REST Client obtain the Low Level REST Client by calling getLowLevelClient(), use the low-level client to connect to an OpenSearch cluster for which the security mode is disabled, and query whether the test index exists. The sample code is as follows:
+ import org.apache.http.HttpHost;
+import org.elasticsearch.client.Request;
+import org.elasticsearch.client.Response;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestClientBuilder;
+import org.elasticsearch.client.RestHighLevelClient;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+public class RestLowLevelClientExample {
+
+ public static void main(String[] args) throws IOException {
+ List<String> host = Arrays.asList("{Cluster access address}");
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, 9200, "http"));
+ final RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder);
+ /**
+ * Create a high-level client and then call getLowLevelClient() to obtain a low-level client. The code differs from the client creation code only in the following line:
+ */
+ final RestClient lowLevelClient = restHighLevelClient.getLowLevelClient();
+ /**
+ * Check whether the test index exists. If the index exists, 200 is returned. If the index does not exist, 404 is returned.
+ */
+ Request request = new Request("HEAD", "/test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+}
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the Elasticsearch High Level REST Client (Without a Certificate)Use the Elasticsearch 7.10.2 High Level REST Client to obtain the Low Level REST Client by calling getLowLevelClient(), use the low-level client to connect to a security-mode OpenSearch cluster that uses HTTP or HTTPS without loading a security certificate, and query whether the test index exists. The sample code is as follows:
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195 | import org.apache.http.HttpHost;
+import org.apache.http.HttpResponse;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.http.protocol.HttpContext;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.elasticsearch.client.Request;
+import org.elasticsearch.client.Response;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestClientBuilder;
+import org.elasticsearch.client.RestHighLevelClient;
+import org.elasticsearch.common.Nullable;
+
+import java.io.IOException;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;
+
+public class RestLowLevelClientExample {
+
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestHighLevelClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password) throws IOException {
+
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ sc = SSLContext.getInstance("SSL");
+ sc.init(null, trustAllCerts, new SecureRandom());
+ } catch (KeyManagementException | NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ }
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NullHostNameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ logger.info("es rest client build success {} ", client);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);
+ }
+
+ /**
+ * Configure trustAllCerts to ignore the certificate configuration.
+ */
+ public static TrustManager[] trustAllCerts = new TrustManager[] {
+ new X509TrustManager() {
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ }
+ };
+
+ /**
+* The CustomConnectionKeepAliveStrategy function is used to set the connection keepalive during when there are a large number of short connections or when there are not many data requests.
+ */
+ public static class CustomConnectionKeepAliveStrategy extends DefaultConnectionKeepAliveStrategy {
+ public static final CustomConnectionKeepAliveStrategy INSTANCE = new CustomConnectionKeepAliveStrategy();
+
+ private CustomConnectionKeepAliveStrategy() {
+ super();
+ }
+
+ /**
+ * Maximum keepalive time (in minutes)
+ * The default value is 10 minutes. You can set it based on the number of TCP connections in TIME_WAIT state. If there are too many TCP connections, you can increase this value.
+ */
+ private final long MAX_KEEP_ALIVE_MINUTES = 10;
+
+ @Override
+ public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
+ long keepAliveDuration = super.getKeepAliveDuration(response, context);
+ // <0 indicates an unlimited keepalive period.
+ // Change the period from unlimited to a default period.
+ if (keepAliveDuration < 0) {
+ return TimeUnit.MINUTES.toMillis(MAX_KEEP_ALIVE_MINUTES);
+ }
+ return keepAliveDuration;
+ }
+ }
+
+ private static final Logger logger = LogManager.getLogger(RestLowLevelClientExample.class);
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+ /**
+ * The {@link SSLIOSessionStrategy} for all requests to enable SSL / TLS encryption.
+ */
+ private final SSLIOSessionStrategy sslStrategy;
+ /**
+ * Create a new {@link SecuredHttpClientConfigCallback}.
+ *
+ * @param credentialsProvider The credential provider, if a username/password have been supplied
+ * @param sslStrategy The SSL strategy, if SSL / TLS have been supplied
+ * @throws NullPointerException if {@code sslStrategy} is {@code null}
+ */
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+ /**
+ * Get the {@link CredentialsProvider} that will be added to the HTTP client.
+ *
+ * @return Can be {@code null}.
+ */
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+ /**
+ * Get the {@link SSLIOSessionStrategy} that will be added to the HTTP client.
+ *
+ * @return Never {@code null}.
+ */
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+ /**
+ * Sets the {@linkplain HttpAsyncClientBuilder#setDefaultCredentialsProvider(CredentialsProvider) credential provider},
+ *
+ * @param httpClientBuilder The client to configure.
+ * @return Always {@code httpClientBuilder}.
+ */
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ // enable SSL / TLS
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ // enable user authentication
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }
+ }
+
+ public static class NullHostNameVerifier implements HostnameVerifier {
+ @Override
+ public boolean verify(String arg0, SSLSession arg1) {
+ return true;
+ }
+ }
+
+ /**
+* The following is an example of the main function. Call the create function to create the high-level client, then call the getLowLevelClient() function to obtain the low-level client, and query whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestHighLevelClient client = create(Arrays.asList("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx"), 9200, "http", 30000, 30000, 30000, "username", "password");
+ RestClient lowLevelClient = client.getLowLevelClient();
+ Request request = new Request("HEAD", "test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+}
+ |
+
+
+ Table 8 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol, which can be http or https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode Cluster Using the Elasticsearch High Level REST Client (With a Certificate)Use the Elasticsearch 7.10.2 High Level REST Client to obtain the Low Level REST Client by calling getLowLevelClient(), use the low-level client to connect to a security-mode OpenSearch cluster that uses HTTPS with a security certificate loaded, and query whether the test index exists. The sample code is as follows:
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161 | import org.apache.http.HttpHost;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
+import org.apache.http.nio.conn.ssl.SSLIOSessionStrategy;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
+import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
+import org.elasticsearch.client.Request;
+import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.client.Response;
+import org.elasticsearch.client.RestClient;
+import org.elasticsearch.client.RestClientBuilder;
+import org.elasticsearch.client.RestHighLevelClient;
+import org.elasticsearch.common.Nullable;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyStore;
+import java.security.SecureRandom;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+
+import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.X509TrustManager;
+
+public class RestLowLevelClientExample {
+ private static final Logger logger = LogManager.getLogger(RestLowLevelClientExample.class);
+
+ /**
+ * Create a class for the client. Define the create function.
+ */
+ public static RestHighLevelClient create(List<String> host, int port, String protocol, int connectTimeout, int connectionRequestTimeout, int socketTimeout, String username, String password, String certFilePath, String certPassword) throws IOException {
+ final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+ credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
+ SSLContext sc = null;
+ try {
+ TrustManager[] tm = {new MyX509TrustManager(certFilePath, certPassword)};
+ sc = SSLContext.getInstance("SSL", "SunJSSE");
+ //You can also use SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
+ sc.init(null, tm, new SecureRandom());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ SSLIOSessionStrategy sessionStrategy = new SSLIOSessionStrategy(sc, new NoopHostnameVerifier());
+ SecuredHttpClientConfigCallback httpClientConfigCallback = new SecuredHttpClientConfigCallback(sessionStrategy,
+ credentialsProvider);
+
+ RestClientBuilder builder = RestClient.builder(constructHttpHosts(host, port, protocol))
+ .setRequestConfigCallback(requestConfig -> requestConfig.setConnectTimeout(connectTimeout)
+ .setConnectionRequestTimeout(connectionRequestTimeout)
+ .setSocketTimeout(socketTimeout))
+ .setHttpClientConfigCallback(httpClientConfigCallback);
+ final RestHighLevelClient client = new RestHighLevelClient(builder);
+ logger.info("es rest client build success {} ", client);
+
+ ClusterHealthRequest request = new ClusterHealthRequest();
+ ClusterHealthResponse response = client.cluster().health(request, RequestOptions.DEFAULT);
+ logger.info("es rest client health response {} ", response);
+ return client;
+ }
+
+ /**
+ * Use the constructHttpHosts function to convert the node IP address list of the host cluster.
+ */
+ public static HttpHost[] constructHttpHosts(List<String> host, int port, String protocol) {
+ return host.stream().map(p -> new HttpHost(p, port, protocol)).toArray(HttpHost[]::new);}
+
+ static class SecuredHttpClientConfigCallback implements RestClientBuilder.HttpClientConfigCallback {
+ @Nullable
+ private final CredentialsProvider credentialsProvider;
+
+ private final SSLIOSessionStrategy sslStrategy;
+
+ SecuredHttpClientConfigCallback(final SSLIOSessionStrategy sslStrategy,
+ @Nullable final CredentialsProvider credentialsProvider) {
+ this.sslStrategy = Objects.requireNonNull(sslStrategy);
+ this.credentialsProvider = credentialsProvider;
+ }
+
+ @Nullable
+ CredentialsProvider getCredentialsProvider() {
+ return credentialsProvider;
+ }
+
+ SSLIOSessionStrategy getSSLStrategy() {
+ return sslStrategy;
+ }
+
+ @Override
+ public HttpAsyncClientBuilder customizeHttpClient(final HttpAsyncClientBuilder httpClientBuilder) {
+ httpClientBuilder.setSSLStrategy(sslStrategy);
+ if (credentialsProvider != null) {
+ httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+ }
+ return httpClientBuilder;
+ }}
+
+ public static class MyX509TrustManager implements X509TrustManager {
+ X509TrustManager sunJSSEX509TrustManager;
+
+ MyX509TrustManager(String certFilePath, String certPassword) throws Exception {
+ File file = new File(certFilePath);
+ if (!file.isFile()) {
+ throw new Exception("Wrong Certification Path");
+ }
+ System.out.println("Loading KeyStore " + file + "...");
+ InputStream in = new FileInputStream(file);
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(in, certPassword.toCharArray());
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509", "SunJSSE");
+ tmf.init(ks);
+ TrustManager[] tms = tmf.getTrustManagers();
+ for (TrustManager tm : tms) {
+ if (tm instanceof X509TrustManager) {
+ sunJSSEX509TrustManager = (X509TrustManager) tm;
+ return;
+ }
+ }
+ throw new Exception("Couldn't initialize");
+ }
+
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[0];
+ }
+ }
+
+ /**
+* The following is an example of the main function. Call the create function to create the high-level client, then call the getLowLevelClient() function to obtain the low-level client, and query whether the test index exists.
+ */
+ public static void main(String[] args) throws IOException {
+ RestHighLevelClient client = create(Arrays.asList("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx"), 9200, "https", 30000, 30000, 30000, "username", "password", "certFilePath", "certPassword");
+ RestClient lowLevelClient = client.getLowLevelClient();
+ Request request = new Request("HEAD", "test");
+ Response response = lowLevelClient.performRequest(request);
+ System.out.println(response.getStatusLine().getStatusCode());
+ lowLevelClient.close();
+ }
+}
+ |
+
+
+ Table 9 Function parametersParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. The default value is 9200.
+ |
+
+protocol
+ |
+Connection protocol. Set this parameter to https.
+ |
+
+connectTimeout
+ |
+Socket connection timeout (in ms).
+ |
+
+connectionRequestTimeout
+ |
+Socket connection request timeout (in ms).
+ |
+
+socketTimeout
+ |
+Socket request timeout (in ms).
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+certFilePath
+ |
+Path for storing the security certificate.
+ |
+
+certPassword
+ |
+Password of the security certificate.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If 200 (the index exists) or 404 (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Obtaining and Uploading a Security CertificateTo access a security-mode OpenSearch cluster that uses HTTPS, a security certificate must be loaded. Perform the following steps to obtain the security certificate and upload it to the client:
+ - Obtain the security certificate CloudSearchService.cer.
- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > OpenSearch.
- In the cluster list, click the name of the target cluster. The cluster information page is displayed.
- Click the Overview tab. In the Configuration area, click Download Certificate next to HTTPS Access.
+ - Convert the security certificate CloudSearchService.cer. Upload the downloaded security certificate to the client and use keytool to convert the .cer certificate into a .jks certificate that can be read by Java.
+
In the preceding command, newname indicates the user-defined certificate name.
+After this command is executed, you will be prompted to set the certificate password and confirm the password. Securely store the password. It will be used for accessing the cluster.
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0042.html b/docs/css/umn/css_01_0042.html
new file mode 100644
index 000000000..7d8a1d329
--- /dev/null
+++ b/docs/css/umn/css_01_0042.html
@@ -0,0 +1,3968 @@
+
+
+ Monitoring Metrics for Elasticsearch Clusters in Cloud Eye
+ You can use Cloud Eye to monitor CSS cluster metrics in real time and quickly handle exceptions. For details about Cloud Eye, see Cloud Eye User Guide.
+ OverviewThis section describes CSS metrics that can be monitored by Cloud Eye as well as their namespaces and dimensions. You can query metrics and alerts generated by CSS on the Cloud Eye console or using an API.
+ Cloud Eye can monitor dimensions (or objects) nested to a maximum depth of four levels (levels 0 to 3). 3 is the deepest level. For example, if the monitored dimension of a metric is cluster_id,instance_id, cluster_id indicates level 0 and instance_id indicates level 1.
+
+
+
+ Cluster Monitoring Metrics Accumulated value: The value is accumulated from when a node is started. After the node is restarted, the value is reset to zero and starts accumulating again.
+
+
+ Table 1 Elasticsearch cluster monitoring metricsMetric ID
+ |
+Metric
+ |
+Description
+ |
+Value Range
+ |
+Unit
+ |
+Number System
+ |
+Dimension
+ |
+Monitoring Interval (Raw)
+ |
+
+
+status
+ |
+Cluster Health Status
+ |
+Health status of the monitored object
+- 0: The cluster is 100% available.
- 1: All primary shards are allocated, but some replicas are missing. No data is missing, so search results will still be complete. However, high availability is compromised to some degree. If more shards disappear, you might lose data. Think of this status as a warning that should prompt investigation.
- 2: Data is missing and the cluster cannot work properly.
- 3: Failed to obtain the cluster status.
+ |
+0, 1, 2, 3
+ |
+N/A
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+disk_util
+ |
+Max. Disk Usage
+ |
+Maximum disk usage of nodes in a CSS cluster
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_jvm_heap_usage
+ |
+Max. JVM Heap Usage
+ |
+Maximum JVM heap usage of nodes in a CSS cluster.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_jvm_young_gc_time
+ |
+Max. JVM Young GC Duration
+ |
+Maximum accumulated JVM Young GC duration of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_jvm_young_gc_count
+ |
+Max. JVM Young GC Count
+ |
+Maximum accumulated JVM Young GC count of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_jvm_old_gc_time
+ |
+Max. JVM Old GC Duration
+ |
+Maximum accumulated JVM Old GC duration of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_jvm_old_gc_count
+ |
+Max. JVM Old GC Count
+ |
+Maximum accumulated JVM Old GC count of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+total_fs_size
+ |
+Total Size of File Systems
+ |
+Total size of file systems in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+free_fs_size
+ |
+Available Size of File Systems
+ |
+Available size of file systems in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_cpu_usage
+ |
+Max. CPU Usage
+ |
+Maximum node CPU usage in a CSS cluster.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_cpu_time_of_jvm_process
+ |
+Max. CPU Time of JVM Process
+ |
+Maximum accumulated CPU usage duration of node JVM processes in a CSS cluster.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_virtual_memory_size_of_jvm_process
+ |
+Max. Virtual Memory Size of JVM Process
+ |
+Maximum virtual memory size of node JVM processes in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_current_opened_http_count
+ |
+Current Max. Opened HTTP Connections
+ |
+Maximum number of HTTP connections that are currently open for nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_total_opened_http_count
+ |
+Total Max. Opened HTTP Connections
+ |
+Maximum number of HTTP connections that were open for nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+indices_count
+ |
+Indexes
+ |
+Number of indexes in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+total_shards_count
+ |
+Shards
+ |
+Number of shards in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+primary_shards_count
+ |
+Primary Shards
+ |
+Number of primary shards in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+docs_count
+ |
+Documents
+ |
+Number of documents in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+docs_deleted_count
+ |
+Deleted Documents
+ |
+Number of documents deleted in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+nodes_count
+ |
+Nodes
+ |
+Number of nodes in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+data_nodes_count
+ |
+Data Nodes
+ |
+Number of data nodes in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+coordinating_nodes_count
+ |
+Coordinator Nodes
+ |
+Number of coordinator nodes in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+master_nodes_count
+ |
+Master Nodes
+ |
+Number of master nodes in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+ingest_nodes_count
+ |
+Client Nodes
+ |
+Number of client nodes in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_load_average
+ |
+Max. Node Load
+ |
+Maximum number of average queued tasks per minute on nodes in a cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_cpu_usage
+ |
+Avg. CPU Usage
+ |
+Average node CPU usage in a CSS cluster.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_load_average
+ |
+Avg. Node Load
+ |
+Average number of queued tasks per minute on nodes in a CSS cluster
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_jvm_heap_usage
+ |
+Avg. JVM Heap Usage
+ |
+Average node JVM heap usage in a CSS cluster.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_open_file_descriptors
+ |
+Max. Open File Descriptors
+ |
+Maximum number of node file descriptors that are currently open in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_open_file_descriptors
+ |
+Avg. Open File Descriptors
+ |
+Average number of node file descriptors that are currently open in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_max_file_descriptors
+ |
+Max. Allowed File Descriptors
+ |
+Maximum number of allowed node file descriptors in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_open_file_descriptors
+ |
+Open File Descriptors
+ |
+Number of node file descriptors that are currently open in a cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_write_queue
+ |
+Tasks in Write Queue
+ |
+Number of tasks in queue for the write thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_search_queue
+ |
+Tasks in Search Queue
+ |
+Total number of tasks in queue for the search thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_force_merge_queue
+ |
+Tasks in ForceMerge Queue
+ |
+Total number of tasks in queue for the force merge thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_write_rejected
+ |
+Rejected Tasks in Write Queue
+ |
+Total number of tasks rejected by the write thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_search_rejected
+ |
+Rejected Tasks in Search Queue
+ |
+Total number of tasks rejected by the search thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_force_merge_rejected
+ |
+Rejected Tasks in ForceMerge Queue
+ |
+Total number of tasks rejected by the force merge thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_search_queue
+ |
+Max. Tasks in Search Queue
+ |
+Maximum number of tasks in queue for the search thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_force_merge_queue
+ |
+Max. Tasks in ForceMerge Queue
+ |
+Maximum number of tasks in queue for the force merge thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_write_threads
+ |
+Size of Write Thread Pool
+ |
+Total size of the write thread pools on nodes in the CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_search_threads
+ |
+Size of Search Thread Pool
+ |
+Total size of the search thread pools on nodes in the CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_force_merge_threads
+ |
+Size of ForceMerge Thread Pool
+ |
+Total size of the force merge thread pools on nodes in the CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_write_queue
+ |
+Avg. Tasks in Write Queue
+ |
+Average number of tasks in queue for the write thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_search_queue
+ |
+Avg. Tasks in Search Queue
+ |
+Average number of tasks in queue for the search thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_force_merge_queue
+ |
+Avg. Tasks in ForceMerge Queue
+ |
+Average number of tasks in queue for the force merge thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_search_threads
+ |
+Avg. Size of Search Thread Pool
+ |
+Average size of the search thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_write_threads
+ |
+Avg. Size of Write Thread Pool
+ |
+Average size of the write thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_force_merge_threads
+ |
+Avg. Size of ForceMerge Thread Pool
+ |
+Average size of the force merge thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_write_rejected
+ |
+Avg. Rejected Tasks in Write Queue
+ |
+Average number of tasks rejected by the write thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_flush_queue
+ |
+Tasks in Flush Queue
+ |
+Total number of tasks in queue for the flush thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_flush_rejected
+ |
+Rejected Tasks in Flush Queue
+ |
+Total number of tasks rejected by the flush thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_flush_queue
+ |
+Max. Tasks in Flush Queue
+ |
+Maximum number of tasks in queue for the flush thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_flush_threads
+ |
+Size of Flush Thread Pool
+ |
+Total size of the flush thread pools on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_flush_queue
+ |
+Avg. Tasks in Flush Queue
+ |
+Average number of tasks in queue for the flush thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_flush_threads
+ |
+Avg. Size of Flush Thread Pool
+ |
+Average number of tasks in queue for the flush thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_generic_queue
+ |
+Tasks in Generic Queue
+ |
+Total number of tasks in queue for the generic thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_generic_rejected
+ |
+Rejected Tasks in Generic Queue
+ |
+Total number of tasks rejected by the generic thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_generic_queue
+ |
+Max. Tasks in Generic Queue
+ |
+Maximum number of tasks in queue for the generic thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_generic_threads
+ |
+Size of Generic Thread Pool
+ |
+Total size of the generic thread pools on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_generic_queue
+ |
+Avg. Tasks in Generic Queue
+ |
+Average number of tasks in queue for the generic thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_generic_threads
+ |
+Avg. Size of Generic Thread Pool
+ |
+Average number of tasks in queue for the generic thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_management_queue
+ |
+Tasks in Management Queue
+ |
+Total number of tasks in queue for the management thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_management_rejected
+ |
+Rejected Tasks in Management Queue
+ |
+Total number of tasks rejected by the management thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_management_queue
+ |
+Max. Tasks in Management Queue
+ |
+Maximum number of tasks in queue for the management thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_management_threads
+ |
+Size of Management Thread Pool
+ |
+Total size of the management thread pools on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_management_queue
+ |
+Avg. Tasks in Management Queue
+ |
+Average number of tasks in queue for the management thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_management_threads
+ |
+Avg. Size of Management Thread Pool
+ |
+Average number of tasks in queue for the management thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_refresh_queue
+ |
+Tasks in Refresh Queue
+ |
+Total number of tasks in queue for the refresh thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_refresh_rejected
+ |
+Rejected Tasks in Refresh Queue
+ |
+Total number of tasks rejected by the refresh thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_refresh_queue
+ |
+Max. Tasks in Refresh Queue
+ |
+Maximum number of tasks in queue for the refresh thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_refresh_threads
+ |
+Size of Refresh Thread Pool
+ |
+Total size of the refresh thread pools on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_refresh_queue
+ |
+Avg. Tasks in Refresh Queue
+ |
+Average number of tasks in queue for the refresh thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_refresh_threads
+ |
+Avg. Size of Refresh Thread Pool
+ |
+Average number of tasks in queue for the refresh thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_searcher_queue
+ |
+Tasks in OBS Searcher Queue
+ |
+Total number of tasks in queue for the OBS Searcher thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_searcher_rejected
+ |
+Rejected Tasks in OBS Searcher Queue
+ |
+Total number of tasks rejected by the OBS Searcher thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_obs_searcher_queue
+ |
+Max. Tasks in OBS Searcher Queue
+ |
+Maximum number of tasks in queue for the OBS Searcher thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_searcher_threads
+ |
+Size of OBS Searcher Thread Pool
+ |
+Total size of the OBS Searcher thread pools on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_obs_searcher_queue
+ |
+Avg. Tasks in OBS Searcher Queue
+ |
+Average number of tasks in queue for the OBS Searcher thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_obs_searcher_threads
+ |
+Avg. Size of OBS Searcher Thread Pool
+ |
+Average number of tasks in queue for the OBS Searcher thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_queue
+ |
+Tasks in OBS Queue
+ |
+Total number of tasks in queue for the OBS thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_rejected
+ |
+Rejected Tasks in OBS Queue
+ |
+Total number of tasks rejected by the OBS thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_obs_queue
+ |
+Max. Tasks in OBS Queue
+ |
+Maximum number of tasks in queue for the OBS thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_threads
+ |
+Size of OBS Thread Pool
+ |
+Total size of the OBS thread pools on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_obs_queue
+ |
+Avg. Tasks in OBS Queue
+ |
+Average number of tasks in queue for the OBS thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_obs_threads
+ |
+Avg. Size of OBS Thread Pool
+ |
+Average number of tasks in queue for the OBS thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_upload_queue
+ |
+Tasks in OBS Upload Queue
+ |
+Total number of tasks in queue for the OBS Upload thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_upload_rejected
+ |
+Rejected Tasks in OBS Upload Queue
+ |
+Total number of tasks rejected by the OBS Upload thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_obs_upload_queue
+ |
+Max. Tasks in OBS Upload Queue
+ |
+Maximum number of tasks in queue for the OBS Upload thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_upload_threads
+ |
+Size of OBS Upload Thread Pool
+ |
+Total size of the OBS Upload thread pools on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_obs_upload_queue
+ |
+Avg. Tasks in OBS Upload Queue
+ |
+Average number of tasks in queue for the OBS Upload thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_obs_upload_threads
+ |
+Avg. Size of OBS Upload Thread Pool
+ |
+Average number of tasks in queue for the OBS Upload thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_download_queue
+ |
+Tasks in OBS Download Queue
+ |
+Total number of tasks in queue for the OBS Download thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_download_rejected
+ |
+Rejected Tasks in OBS Download Queue
+ |
+Total number of tasks rejected by the OBS Download thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_thread_pool_obs_download_queue
+ |
+Max. Tasks in OBS Download Queue
+ |
+Maximum number of tasks in queue for the OBS Download thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_thread_pool_obs_download_threads
+ |
+Size of OBS Download Thread Pool
+ |
+Total size of the OBS Download thread pools on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_obs_download_queue
+ |
+Avg. Tasks in OBS Download Queue
+ |
+Average number of tasks in queue for the OBS Download thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_thread_pool_obs_download_threads
+ |
+Avg. Size of OBS Download Thread Pool
+ |
+Average number of tasks in queue for the OBS Download thread pool on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+min_free_fs_size
+ |
+Min. Available Storage Space
+ |
+Minimum available storage space of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_jvm_old_gc_count
+ |
+Avg. GCs of Old-Generation JVM
+ |
+Average number of old-generation garbage collections of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_jvm_old_gc_time
+ |
+Avg. GC Duration of Old-Generation JVM
+ |
+Average old-generation garbage collection duration of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_jvm_young_gc_count
+ |
+Avg. GCs of Young-Generation JVM
+ |
+Average number of young-generation garbage collections of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_jvm_young_gc_time
+ |
+Avg. GC Duration of Young-Generation JVM
+ |
+Average young-generation garbage collection duration of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_max_file_descriptors
+ |
+Avg. Maximum Allowed File Descriptors
+ |
+Average value of the maximum number of allowed file descriptors on each node in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_mem_free_in_bytes
+ |
+Avg. Available Memory
+ |
+Average unused memory capacity of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_mem_free_percent
+ |
+Avg. Available Memory Percentage
+ |
+Average percentage of unused memory of nodes in a CSS cluster.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_mem_used_in_bytes
+ |
+Avg. Used Memory
+ |
+Average used memory of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_mem_used_percent
+ |
+Avg. Used Memory Percentage
+ |
+Average percentage of used memory of nodes in a CSS cluster.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_mem_free_in_bytes
+ |
+Max. Available Memory
+ |
+Maximum unused memory of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_mem_free_percent
+ |
+Max. Available Memory Percentage
+ |
+Maximum percentage of unused memory of nodes in a CSS cluster.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_mem_used_in_bytes
+ |
+Max. Used Memory
+ |
+Maximum used memory of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_mem_used_percent
+ |
+Max. Used Memory Percentage
+ |
+Maximum percentage of used memory of nodes in a CSS cluster.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_jvm_old_gc_count
+ |
+Total GCs of Old-Generation JVM
+ |
+Number of old-generation garbage collections of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_jvm_old_gc_time
+ |
+Total GC Duration of Old-Generation JVM
+ |
+Total old-generation garbage collection duration of nodes in the CSS cluster.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_jvm_young_gc_count
+ |
+Total GCs of Young-Generation JVM
+ |
+Number of young-generation garbage collections of nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_jvm_young_gc_time
+ |
+Total GC Duration of Young-Generation JVM
+ |
+Total young-generation garbage collection duration of nodes in the CSS cluster.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_current_opened_http_count
+ |
+Currently Open HTTP Connections
+ |
+Number of HTTP connections that are open on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_total_opened_http_count
+ |
+Historical Open HTTP Connections
+ |
+Number of HTTP connections that were open on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+IndexingLatency
+ |
+Average Index Latency
+ |
+Average time required for a shard to complete an indexing operation.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+IndexingRate
+ |
+Average Index Rate
+ |
+Average number of index operations per second in a cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+SearchLatency
+ |
+Average Search Latency
+ |
+Average time required for a shard to complete a search operation.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+SearchRate
+ |
+Average QPS
+ |
+Average queries per second (QPS) in a cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+task_max_running_time
+ |
+Max. Task Runtime
+ |
+Duration of the most time-consuming search or write task in the cluster.
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+number_of_pending_tasks
+ |
+Number of Pending Tasks in Queue
+ |
+Number of pending tasks to be processed by the master node in the CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_disk_read_requests_rate
+ |
+Total Disk Read IOPS
+ |
+Number of disk read requests to all nodes in the CSS cluster per second.
+ |
+≥ 0
+ |
+request/s
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_disk_write_requests_rate
+ |
+Total Disk Write IOPS
+ |
+Number of disk write requests to all nodes in the CSS cluster per second.
+ |
+≥ 0
+ |
+request/s
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_disk_read_bytes_rate
+ |
+Total Disk Read Rate
+ |
+Number of bytes of data read from the disks of all nodes in the CSS cluster per second.
+ |
+≥ 0
+ |
+Byte/s
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+sum_disk_write_bytes_rate
+ |
+Total Disk Write Rate
+ |
+Number of bytes of data written into the disks of all nodes in the CSS cluster per second.
+ |
+≥ 0
+ |
+Byte/s
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_vector_index_off_heap_used_in_bytes
+ |
+Average Off-Heap Memory Usage of Vector Indexes
+ |
+Average off-heap memory (bytes) used for querying vector indexes on each node in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_vector_index_off_heap_usage
+ |
+Average Off-Heap Memory Utilization (%) of Vector Indexes
+ |
+Average off-heap memory (in %) used for querying vector indexes on each node in a CSS cluster.
+This metric is calculated only when vector index queries occur.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_vector_index_off_heap_used_in_bytes
+ |
+Maximum Off-Heap Memory Usage of Vector Indexes
+ |
+Maximum off-heap memory (bytes) used for querying vector indexes on each node in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_vector_index_off_heap_usage
+ |
+Maximum Off-Heap Memory Utilization (%) of Vector Indexes
+ |
+Maximum off-heap memory (in %) used for querying vector indexes on each node in a CSS cluster.
+This metric is calculated only when vector index queries occur.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+vector_index_circuit_breaker_status
+ |
+Vector Index Circuit Breaker Status
+ |
+Circuit breaker status for vector indexes.
+- 0: Not enabled.
- 1: Enabled. Check whether the cluster's off-heap memory usage exceeds the threshold.
+ |
+0, 1
+ |
+N/A
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+request_count
+ |
+Total Requests
+ |
+Total number of requests sent to all nodes in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+successfully_request_count
+ |
+Successful requests
+ |
+Number of requests successfully handled by all nodes in a CSS cluster.
+Status code: 200.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+failed_request_count
+ |
+Failed requests
+ |
+Number of failed requests for all nodes in a CSS cluster.
+Status code: non-200.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+limited_request_count
+ |
+Throttled requests
+ |
+Number of throttled requests for all nodes in a CSS cluster.
+Status code: 429.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+cold_data_storage
+ |
+The size of cold data stored
+ |
+The total size of cold data stored in a CSS cluster, which is the total size of the data of frozen indexes stored in an OBS bucket. This metric is measured hourly. Users cannot check this OBS bucket on the OBS console.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+number_of_index_creation_failures
+ |
+Number of index creation failures
+ |
+Number of index creation failures in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+shard_doc_exceed_threshold_count
+ |
+Number of shards where the number of documents exceeds the threshold
+ |
+Number of shards where the number of documents exceeds the threshold in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+write_fail_alias_error
+ |
+Number of Write Failures Due to Alias Exceptions
+ |
+Number of write failures caused by abnormal index aliases in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+write_fail_documents_count_exceed
+ |
+Number of Write Failures Due to Excessive Documents
+ |
+Number of write failures caused by too many index documents in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+write_fail_fields_count_exceed
+ |
+Number of Write Failures Due to Excessive Fields
+ |
+Number of write failures caused by too many index fields in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+write_fail_shards_count_exceed
+ |
+Number of Write Failures Due to Excessive Shards
+ |
+Number of write failures caused by too many index shards in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+write_fail_index_blocks_write
+ |
+Number of Write Failures Due to Index Write Prohibition
+ |
+Number of write failures caused by the setting of write prohibition in index configuration in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+write_fail_mapping_malformed
+ |
+Number of Write Failures Due to Incorrect Field Types
+ |
+Number of write failures caused by incorrect index field types in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+remote_sync_task_count
+ |
+Number of Primary/Secondary Synchronization Jobs
+ |
+Number of primary/secondary synchronization jobs for a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+remote_sync_failed_task_count
+ |
+Number of Failed Primary/Secondary Synchronization Jobs
+ |
+Number of failed primary/secondary synchronization jobs for a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+remote_sync_diff_bytes_of_primary_shards
+ |
+Size of Data to Be Synchronized via Primary/Secondary Synchronization Jobs for Primary Shards
+ |
+Total size of data to be synchronized via primary/secondary synchronization jobs for all primary shards in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+remote_sync_finished_bytes_of_primary_shards
+ |
+Size of Data Synchronized via Primary/Secondary Synchronization Jobs for Primary Shards
+ |
+Total size of data already synchronized via primary/secondary synchronization jobs for all primary shards in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+remote_sync_diff_docs_of_primary_shards
+ |
+Number of Documents to Be Synchronized via Primary/Secondary Synchronization Jobs for Primary Shards
+ |
+Total number of documents to be synchronized via primary/secondary synchronization jobs for all primary shards in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+remote_sync_diff_bytes
+ |
+Size of Data to Be Synchronized via Primary/Secondary Synchronization Jobs
+ |
+Total size of data to be synchronized via primary/secondary synchronization jobs for all shards in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+remote_sync_finished_bytes
+ |
+Size of Data Synchronized via Primary/Secondary Synchronization Jobs
+ |
+Total size of data already synchronized via primary/secondary synchronization jobs for all shards in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+remote_sync_diff_docs
+ |
+Number of Documents to Be Synchronized via Primary/Secondary Synchronization Jobs
+ |
+Total number of documents to be synchronized via primary/secondary synchronization jobs for all shards in a CSS cluster.
+Only Elasticsearch 7.6.2 and 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+index_storage
+ |
+Index Data Volume
+ |
+Total data size of all indexes in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+backup_failed_task_count
+ |
+Number of Failed Backup Tasks
+ |
+Number of failed snapshot backup tasks in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+ism_fail_count
+ |
+Number of Failed Index Lifecycle Tasks
+ |
+Number of failed index lifecycle tasks in a CSS cluster.
+Only Elasticsearch 7.10.2 clusters support this metric.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+disk_total
+ |
+Total Disk Space
+ |
+Total data disk capacity of all nodes in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id
+ |
+1 minute
+ |
+
+number_of_unassigned_shards
+ |
+Number of Unallocated Shards
+ |
+Total number of unallocated shards in a CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+disk_iops_qos_num
+ |
+Disk IOPS Overload Times
+ |
+Total number of times the disk IOPS exceeds the predefined threshold.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+disk_iobw_qos_num
+ |
+Disk I/O Bandwidth Overload Times
+ |
+Total number of times the disk I/O bandwidth usage exceeds the predefined threshold.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+max_disk_io_util
+ |
+Maximum Disk I/O Usage
+ |
+Maximum disk I/O usage among all disks.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+avg_disk_io_util
+ |
+Average Disk I/O Usage
+ |
+Average disk I/O usage among all disks.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+shard_quota_usage
+ |
+Shard Quota Usage
+ |
+Ratio of allocated shards to the upper limit of the shard quantity.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id
+ |
+1 minute
+ |
+
+
+
+
+
+ Node Monitoring Metrics
+ Table 2 Elasticsearch cluster node monitoring metricsMetric ID
+ |
+Metric
+ |
+Description
+ |
+Value Range
+ |
+Unit
+ |
+Number System
+ |
+Dimension
+ |
+Monitoring Interval (Raw)
+ |
+
+
+jvm_heap_usage
+ |
+JVM Heap Usage
+ |
+JVM heap memory usage of a node.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+cpu_usage
+ |
+CPU Usage
+ |
+CPU usage.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+disk_util
+ |
+Max. Disk Usage
+ |
+Disk usage of a node
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+load_average
+ |
+Average Load
+ |
+Average number of queued tasks per minute on a node
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+open_file_descriptors
+ |
+Open File Descriptors
+ |
+Number of opened file descriptors on a node
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+max_file_descriptors
+ |
+Max. Allowed File Descriptors
+ |
+Maximum number of allowed file descriptors
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_write_queue
+ |
+Tasks in Write Queue
+ |
+Number of tasks in queue for the write thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_search_queue
+ |
+Tasks in Search Queue
+ |
+Number of tasks in queue for the search thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_force_merge_queue
+ |
+Tasks in ForceMerge Queue
+ |
+Number of tasks in queue for the force merge thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_write_rejected
+ |
+Rejected Tasks in Write Queue
+ |
+Number of tasks rejected by the write thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_search_rejected
+ |
+Rejected Tasks in Search Queue
+ |
+Number of tasks rejected by the search thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_force_merge_rejected
+ |
+Rejected Tasks in ForceMerge Queue
+ |
+Number of tasks rejected by the force merge thread pool
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_write_threads
+ |
+Size of Write Thread Pool
+ |
+Size of a write thread pool
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_search_threads
+ |
+Size of Search Thread Pool
+ |
+Size of a search thread pool
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_force_merge_threads
+ |
+Size of ForceMerge Thread Pool
+ |
+Size of a force merge thread pool
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_flush_queue
+ |
+Tasks in Flush Queue
+ |
+Number of tasks in queue for the flush thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_flush_rejected
+ |
+Rejected Tasks in Flush Queue
+ |
+Number of tasks rejected by the flush thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_flush_threads
+ |
+Size of Flush Thread Pool
+ |
+Size of the flush thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_generic_queue
+ |
+Tasks in Generic Queue
+ |
+Number of tasks in queue for the generic thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_generic_rejected
+ |
+Rejected Tasks in Generic Queue
+ |
+Number of tasks rejected by the generic thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_generic_threads
+ |
+Size of Generic Thread Pool
+ |
+Size of the generic thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_management_queue
+ |
+Tasks in Management Queue
+ |
+Number of tasks in queue for the management thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_management_rejected
+ |
+Rejected Tasks in Management Queue
+ |
+Number of tasks rejected by the management thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_management_threads
+ |
+Size of Management Thread Pool
+ |
+Size of the management thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_refresh_queue
+ |
+Tasks in Refresh Queue
+ |
+Number of tasks in queue for the refresh thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_refresh_rejected
+ |
+Rejected Tasks in Refresh Queue
+ |
+Number of tasks rejected by the refresh thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_refresh_threads
+ |
+Size of Refresh Thread Pool
+ |
+Size of the refresh thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_searcher_queue
+ |
+Tasks in OBS Searcher Queue
+ |
+Number of tasks in queue for the OBS Searcher thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_searcher_rejected
+ |
+Rejected Tasks in OBS Searcher Queue
+ |
+Number of tasks rejected by the OBS Searcher thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_searcher_threads
+ |
+Size of OBS Searcher Thread Pool
+ |
+Size of the OBS Searcher thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_queue
+ |
+Tasks in OBS Queue
+ |
+Number of tasks in queue for the OBS thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_rejected
+ |
+Rejected Tasks in OBS Queue
+ |
+Number of tasks rejected by the OBS thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_threads
+ |
+Size of OBS Thread Pool
+ |
+Size of the OBS thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_upload_queue
+ |
+Tasks in OBS Upload Queue
+ |
+Number of tasks in queue for the OBS Upload thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_upload_rejected
+ |
+Rejected Tasks in OBS Upload Queue
+ |
+Number of tasks rejected by the OBS Upload thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_upload_threads
+ |
+Size of OBS Upload Thread Pool
+ |
+Size of the OBS Upload thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_download_queue
+ |
+Tasks in OBS Download Queue
+ |
+Number of tasks in queue for the OBS Download thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_download_rejected
+ |
+Rejected Tasks in OBS Download Queue
+ |
+Number of tasks rejected by the OBS Upload thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+thread_pool_obs_download_threads
+ |
+Size of OBS Download Thread Pool
+ |
+Size of the OBS Download thread pool.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+free_fs_size
+ |
+Available Size of File Systems
+ |
+Available size of file systems in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+total_fs_size
+ |
+Total Size of File Systems
+ |
+Total size of file systems in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+jvm_old_gc_count
+ |
+Total GCs of Old-Generation JVM
+ |
+Number of old-generation garbage collection times
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+jvm_old_gc_time
+ |
+Total GC Duration of Old-Generation JVM
+ |
+Time spent on old-generation garbage collection
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+jvm_young_gc_count
+ |
+Total GCs of Young-Generation JVM
+ |
+Number of young-generation garbage collection times
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+jvm_young_gc_time
+ |
+GC Duration of Young-Generation JVM
+ |
+Time spent on young-generation garbage collection
+ |
+≥ 0
+ |
+ms
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+mem_free_in_bytes
+ |
+Available Memory
+ |
+Unused memory space of a node.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+mem_free_percent
+ |
+Available Memory Percentage
+ |
+Percentage of unused memory space on a node.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+mem_used_in_bytes
+ |
+Used Memory
+ |
+Used memory space of a node.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+current_opened_http_count
+ |
+Currently Open HTTP Connections
+ |
+Number of HTTP connections currently open on a node
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+total_opened_http_count
+ |
+Total Open HTTP Connections
+ |
+Total number of HTTP connections on a node
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+disk_read_requests_rate
+ |
+Disk Read IOPS
+ |
+Number of disk read requests to a node in the CSS cluster per second.
+ |
+≥ 0
+ |
+request/s
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+disk_write_requests_rate
+ |
+Disk Write IOPS
+ |
+Number of disk write requests to a node in the CSS cluster per second.
+ |
+≥ 0
+ |
+request/s
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+disk_read_bytes_rate
+ |
+Disk Read Rate
+ |
+Number of bytes of data read from the disks of a node in the CSS cluster per second.
+ |
+≥ 0
+ |
+Byte/s
+ |
+1024
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+disk_write_bytes_rate
+ |
+Disk Write Rate
+ |
+Number of bytes of data written into the disks of a node in the CSS cluster per second.
+ |
+≥ 0
+ |
+Byte/s
+ |
+1024
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+shards_count
+ |
+Shards
+ |
+Number of shards per node in the CSS cluster.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+vector_index_off_heap_used_in_bytes
+ |
+Off-Heap Memory Usage of Vector Indexes
+ |
+Off-heap memory (bytes) used for querying vector indexes on nodes in a CSS cluster.
+ |
+≥ 0
+ |
+byte
+ |
+1024
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+vector_index_off_heap_usage
+ |
+Off-Heap Memory Utilization (%) of Vector Indexes
+ |
+Off-heap memory (in %) used for querying vector indexes on nodes in a CSS cluster.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+disk_iops_qos_num
+ |
+Disk IOPS Overload Times
+ |
+Total number of times the disk IOPS exceeds the predefined threshold.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+disk_iobw_qos_num
+ |
+Disk I/O Bandwidth Overload Times
+ |
+Total number of times the disk I/O bandwidth usage exceeds the predefined threshold.
+ |
+≥ 0
+ |
+Count
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+max_disk_io_util
+ |
+Maximum Disk I/O Usage
+ |
+Maximum disk I/O usage among all disks.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+avg_disk_io_util
+ |
+Average Disk I/O Usage
+ |
+Average disk I/O usage among all disks.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+shard_quota_usage
+ |
+Shard Quota Usage
+ |
+Ratio of allocated shards to the upper limit of the shard quantity.
+ |
+0~100
+ |
+%
+ |
+N/A
+ |
+cluster_id,instance_id
+ |
+1 minute
+ |
+
+
+
+
+ If an object is in a hierarchical system, specify the monitored dimension in hierarchical form when you use an API to query the metrics of this object.
+ For example, to query the CPU usage (cpu_usage) of an Elasticsearch cluster node in CSS, the dimension information of this metric is cluster_id,instance_id, where cluster_id indicates level 0 and instance_id level 1.
+ - To query a single metric by calling an API, the instance_id dimension is used as follows:
dim.0=cluster_id,3d65c1ac-9a9f-4c5f-a054-35184a087bb2&dim.1=instance_id,6666cd76f96956469e7be39d750cc7d9
+where, 3d65c1ac-9a9f-4c5f-a054-35184a087bb2 and 6666cd76f96956469e7be39d750cc7d9 are the values of cluster_id and instance_id, respectively. For how to obtain these values, see Dimensions.
+ - To query multiple metrics by calling an API, the instance_id dimension is used as follows:
"dimensions": [
+ {
+ "name": "cluster_id",
+ "value": "3d65c1ac-9a9f-4c5f-a054-35184a087bb2"
+ },
+ {
+ "name": "instance_id",
+ "value": "6666cd76f96956469e7be39d750cc7d9"
+ }
+]
+where, 3d65c1ac-9a9f-4c5f-a054-35184a087bb2 and 6666cd76f96956469e7be39d750cc7d9 are the values of cluster_id and instance_id, respectively. For how to obtain the values, see Dimensions.
+
+
+ Dimensions
+ Table 3 Dimension descriptionKey
+ |
+Value
+ |
+
+
+cluster_id
+ |
+Cluster ID.
+You can obtain this value from the clusters[].id field in the response body of the Querying the Cluster List API.
+ |
+
+cluster_id,instance_id
+ |
+Cluster node ID.
+You can obtain this value from the clusters[].instances[].id field in the response body of the Querying the Cluster List API.
+ |
+
+
+
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0043.html b/docs/css/umn/css_01_0043.html
new file mode 100644
index 000000000..c8dd8c83b
--- /dev/null
+++ b/docs/css/umn/css_01_0043.html
@@ -0,0 +1,435 @@
+
+
+ Accessing an OpenSearch Cluster with the Python Client
+ You can access and manage data in a CSS OpenSearch cluster using the official OpenSearch Python client (opensearch-py) or Elasticsearch Python client (elasticsearch-py). Both client libraries are compatible with OpenSearch REST APIs, though version compatibility needs to be verified for elasticsearch-py. Developers can use Python APIs to manage indexes; create, read, update, and delete (CRUD) documents; and search data.
+ You are advised to use the OpenSearch Python client (opensearch-py) to access complete OpenSearch features. For details, see OpenSearch Python Client Documentation or Elasticsearch Python Client Documentation.
+ Prerequisites- The target OpenSearch cluster is available.
- The server that runs the Python code can communicate with the OpenSearch cluster.
- Depending on the network configuration method used, obtain the cluster access address. For details, see Network Configuration.
- Python 3 has been installed on the server.
+
+ Installing the Python Client LibraryInstall the Python client library on the server that runs the Python code.
+ CSS allows you to use the Elasticsearch 7.10 Python client to connect to OpenSearch clusters. To ensure better compatibility, however, you are advised to use a Python client library that has the same version as the target OpenSearch cluster.
+ Select a reference example based on the Python client you use.
+
+
+ Cluster Access ScenariosThe sample code varies depending on the Python client and the security mode settings of the target OpenSearch cluster. Select the right reference document based on your service scenario.
+
+
+
+ Connecting to a Non-Security Mode Cluster with the OpenSearch Python ClientUse the OpenSearch Python client to connect to an OpenSearch cluster for which the security mode is disabled, and query whether the test index exists.
+ The following is an example of the code for creating a client instance using the cluster connection information:
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23 | from opensearchpy import OpenSearch
+
+class OpenSearchFactory(object):
+
+ def __init__(self, host: list, port: str, username: str, password: str):
+ self.port = port
+ self.host = host
+ self.username = username
+ self.password = password
+
+ def create(self) -> OpenSearch:
+ addrs = []
+ for host in self.host:
+ addr = {'host': host, 'port': self.port}
+ addrs.append(addr)
+
+ if self.username and self.password:
+ opensearch = OpenSearch(addrs, http_auth=(self.username, self.password))
+ else:
+ opensearch = OpenSearch(addrs)
+ return opensearch
+os = OpenSearchFactory(["{cluster address}"], "9200", None, None).create()
+print(os.indices.exists(index='test'))
+ |
+
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode+HTTP Cluster with the OpenSearch Python ClientUse the OpenSearch Python client to connect to a security-mode OpenSearch cluster that uses HTTP, and query whether the test index exists.
+ The following is an example of the code for creating a client instance using the cluster connection information:
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23 | from opensearchpy import OpenSearch
+
+class OpenSearchFactory(object):
+
+ def __init__(self, host: list, port: str, username: str, password: str):
+ self.port = port
+ self.host = host
+ self.username = username
+ self.password = password
+
+ def create(self) -> OpenSearch:
+ addrs = []
+ for host in self.host:
+ addr = {'host': host, 'port': self.port}
+ addrs.append(addr)
+
+ if self.username and self.password:
+ opensearch = OpenSearch(addrs, http_auth=(self.username, self.password))
+ else:
+ opensearch = OpenSearch(addrs)
+ return opensearch
+os = OpenSearchFactory(["xxx.xxx.xxx.xxx"], "9200", "username", "password").create()
+print(os.indices.exists(index='test'))
+ |
+
+
+ Table 2 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. Enter 9200.
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode+HTTPS Cluster with the OpenSearch Python ClientUse the OpenSearch Python client to connect to a security-mode OpenSearch cluster that uses HTTPS, and query whether the test index exists.
+ The following is an example of the code for creating a client instance using the cluster connection information:
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26 | from opensearchpy import OpenSearch
+import ssl
+
+class OpenSearchFactory(object):
+
+ def __init__(self, host: list, port: str, username: str, password: str):
+ self.port = port
+ self.host = host
+ self.username = username
+ self.password = password
+
+ def create(self) -> OpenSearch:
+ context = ssl._create_unverified_context()
+
+ addrs = []
+ for host in self.host:
+ addr = {'host': host, 'port': self.port}
+ addrs.append(addr)
+
+ if self.username and self.password:
+ opensearch = OpenSearch(addrs, http_auth=(self.username, self.password), scheme="https", ssl_context=context)
+ else:
+ opensearch = OpenSearch(addrs)
+ return opensearch
+os = OpenSearchFactory(["xxx.xxx.xxx.xxx"], "9200", "username", "password").create()
+print(os.indices.exists(index='test'))
+ |
+
+
+ Table 3 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. Enter 9200.
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Non-Security Mode Cluster with the Elasticsearch Python ClientUse the Elasticsearch 7.10.2 Python client to connect to an OpenSearch cluster for which the security mode is disabled, and query whether the test index exists.
+ The following is an example of the code for creating a client instance using the cluster connection information:
+ from elasticsearch import Elasticsearch
+
+class ElasticFactory(object):
+
+ def __init__(self, host: list, port: str, username: str, password: str):
+ self.port = port
+ self.host = host
+ self.username = username
+ self.password = password
+
+ def create(self) -> Elasticsearch:
+ addrs = []
+ for host in self.host:
+ addr = {'host': host, 'port': self.port}
+ addrs.append(addr)
+
+ if self.username and self.password:
+ elasticsearch = Elasticsearch(addrs, http_auth=(self.username, self.password))
+ else:
+ elasticsearch = Elasticsearch(addrs)
+ return elasticsearch
+
+es = ElasticFactory(["{cluster address}"], "9200", None, None).create()
+print(es.indices.exists(index='test'))
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode+HTTP Cluster with the Elasticsearch Python ClientUse the Elasticsearch 7.10.2 Python client to connect to a security-mode OpenSearch cluster that uses HTTP, and query whether the test index exists.
+ The following is an example of the code for creating a client instance using the cluster connection information:
+ from elasticsearch import Elasticsearch
+
+class ElasticFactory(object):
+
+ def __init__(self, host: list, port: str, username: str, password: str):
+ self.port = port
+ self.host = host
+ self.username = username
+ self.password = password
+
+ def create(self) -> Elasticsearch:
+ addrs = []
+ for host in self.host:
+ addr = {'host': host, 'port': self.port}
+ addrs.append(addr)
+
+ if self.username and self.password:
+ elasticsearch = Elasticsearch(addrs, http_auth=(self.username, self.password))
+ else:
+ elasticsearch = Elasticsearch(addrs)
+ return elasticsearch
+
+es = ElasticFactory(["xxx.xxx.xxx.xxx"], "9200", "username", "password").create()
+print(es.indices.exists(index='test'))
+
+ Table 4 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. Enter 9200.
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+ Connecting to a Security-Mode+HTTPS Cluster with the Elasticsearch Python ClientUse the Elasticsearch 7.10.2 Python client to connect to a security-mode OpenSearch cluster that uses HTTPS, and query whether the test index exists.
+ The following is an example of the code for creating a client instance using the cluster connection information:
+ from elasticsearch import Elasticsearch
+import ssl
+
+class ElasticFactory(object):
+
+ def __init__(self, host: list, port: str, username: str, password: str):
+ self.port = port
+ self.host = host
+ self.username = username
+ self.password = password
+
+ def create(self) -> Elasticsearch:
+ context = ssl._create_unverified_context()
+
+ addrs = []
+ for host in self.host:
+ addr = {'host': host, 'port': self.port}
+ addrs.append(addr)
+
+ if self.username and self.password:
+ elasticsearch = Elasticsearch(addrs, http_auth=(self.username, self.password), scheme="https", ssl_context=context)
+ else:
+ elasticsearch = Elasticsearch(addrs)
+ return elasticsearch
+
+es = ElasticFactory(["xxx.xxx.xxx.xxx"], "9200", "username", "password").create()
+print(es.indices.exists(index='test'))
+
+ Table 5 VariablesParameter
+ |
+Description
+ |
+
+
+host
+ |
+IP address for accessing the cluster. If there are multiple IP addresses, separate them with commas (,).
+ |
+
+port
+ |
+Access port of the cluster. Enter 9200.
+ |
+
+username
+ |
+Username for accessing the cluster.
+ |
+
+password
+ |
+Password of the user.
+ |
+
+
+
+
+ This piece of code checks whether the test index exists in the cluster. If true (the index exists) or false (the index does not exist) is returned, it indicates that the cluster is connected.
+
+
+
+
diff --git a/docs/css/umn/css_01_0045.html b/docs/css/umn/css_01_0045.html
index 39db4b093..6ec3f9bd7 100644
--- a/docs/css/umn/css_01_0045.html
+++ b/docs/css/umn/css_01_0045.html
@@ -1,23 +1,337 @@
-
+
- Importing Data to an Elasticsearch Cluster
-
+ Configuring Index Monitoring for an OpenSearch Cluster
+ Index monitoring helps you monitor the index status, statistics, and trends of a cluster, allowing you to promptly handle potential risks to ensure cluster reliability. By collecting index statistics, you can gain insights into various aspects of index performance and resource utilization, and make informed O&M decisions.
+ How the Feature WorksIndex monitoring consists of two steps:
+ - Data ingestion
- Index stats (such as the number of documents, data storage, and shard status) are ingested periodically.
- Data is written into the monitoring-eye-css-* index, where a data aging mechanism is applied.
- The default data retention duration is seven days. Data is automatically deleted when this duration expires.
+ - Monitoring chart generation
- Preset dashboards and custom visualizations on OpenSearch Dashboards enable intuitive index monitoring.
- Time series analysis, trend analysis and comparison, and anomaly detection are supported.
+
+
+ Constraints- Only OpenSearch 2.19.0 supports index monitoring.
+ - Indexes starting with monitoring-eye-css-* are identified as monitoring indexes and will not be monitored. Do not use this prefix for regular indexes.
- The index pattern of monitoring-eye-css-* must not be deleted while index monitoring is enabled. Otherwise, monitoring charts will become abnormal.
+
+ Logging In to OpenSearch DashboardsLog in to OpenSearch Dashboards and go to the command execution page. OpenSearch clusters support multiple access methods. This topic uses OpenSearch Dashboards as an example to describe the operation procedures.
+ - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > OpenSearch.
- In the cluster list, find the target cluster, and click Dashboards in the Operation column to log in to OpenSearch Dashboards.
- In the left navigation pane, choose Dev Tools.
The left part of the console is the command input box, and the triangle icon in its upper-right corner is the execution button. The right part shows the execution result.
+
+
+ Enabling Index Monitoring- Run the following command to enable index monitoring:
PUT _cluster/settings
+{
+ "persistent": {
+ "css.monitoring.index.enabled": "true"
+ }
+}
+ - To monitor a specified index, run the following command to set the monitoring period, target index name, and monitoring index retention duration.
PUT _cluster/settings
+{
+ "persistent": {
+ "css.monitoring.index.enabled": "true",
+ "css.monitoring.index.interval": "30s",
+ "css.monitoring.index.indices": ["index_name"],
+ "css.monitoring.history.duration": "3d"
+ }
+}
+
+Table 1 Parameters for index monitoringParameter
+ |
+Type
+ |
+Description
+ |
+
+
+css.monitoring.index.enabled
+ |
+Boolean
+ |
+Whether to enable index monitoring. Setting this parameter to true enables index monitoring.
+Default value: false
+ |
+
+css.monitoring.index.interval
+ |
+Time
+ |
+Index monitoring period.
+Minimum value: 1s
+Default value: 10s
+ |
+
+css.monitoring.index.indices
+ |
+String
+ |
+Name of an index to be monitored. By default, all indexes are monitored. You can configure specific indexes or a specific type of indexes to monitor.
+Example:
+- "css.monitoring.index.indices": ["index_name"] indicates only index_name is monitored.
- "css.monitoring.index.indices": ["log_*"] indicates that only indexes starting with log_ are monitored.
- "css.monitoring.index.indices": ["index1", "index2"] indicates that index1 and index2 are monitored.
+Default value: * (indicating that all indexes are monitored)
+ |
+
+css.monitoring.history.duration
+ |
+Time
+ |
+Retention period of the monitoring index monitoring-eye-css-*. The default period is one week.
+Minimum value: 1d
+Default value: 7d
+ |
+
+
+
+
+
+
+ Checking the Read and Write Traffic of IndexesAfter index monitoring is enabled for a cluster, you can check the read/write traffic of this cluster's indexes during specific periods of time.
+ - Run the following command to check the read and write traffic of all indexes:
GET /_cat/monitoring
+ - Run the following command to check the read and write traffic of a specified index:
GET /_cat/monitoring/{indexname}
+{indexName} indicates the name of the index whose read and write traffic you want to check.
+ - Run the following command to check the read and write traffic of an index during specified periods of time:
GET _cat/monitoring?begin=1650099461000
+GET _cat/monitoring?begin=2022-04-16T08:57:41
+GET _cat/monitoring?begin=2022-04-16T08:57:41&end=2022-04-17T08:57:41
+
+
+ Table 2 Parameters for checking read and write trafficParameter
+ |
+Type
+ |
+Description
+ |
+
+
+indexname
+ |
+String
+ |
+Index name.
+You cannot check the traffic of system indexes, whose names start with a period (.).
+ |
+
+begin
+ |
+Date
+ |
+Start time (UTC time) of the monitoring data you want to view.
+Time format: strict_date_optional_time|epoch_millis
+The default start time is 5 minutes before the current time.
+ |
+
+end
+ |
+Date
+ |
+End time (UTC time) of the monitoring data you want to view.
+Time format: strict_date_optional_time|epoch_millis
+The default end time is the current time.
+ |
+
+
+
+
+ Information similar to the following is displayed:
+ index begin end status pri rep init unassign docs.count docs.deleted store.size pri.store.size delete.rate indexing.rate search.rate
+test 2022-03-25T09:46:53.765Z 2022-03-25T09:51:43.767Z yellow 1 1 0 1 9 0 5.9kb 5.9kb 0/s 0/s 0/s
+
+ Table 3 Parameters in the returned informationParameter
+ |
+Description
+ |
+
+
+index
+ |
+Index name
+ |
+
+begin
+ |
+Start time of the monitoring data you queried.
+ |
+
+end
+ |
+End time of the monitoring data you queried.
+ |
+
+status
+ |
+Index status within the queried monitoring interval.
+ |
+
+pri
+ |
+The number of index shards within the queried monitoring interval.
+ |
+
+rep
+ |
+The number of index replicas within the queried monitoring interval.
+ |
+
+init
+ |
+The number of initialized indexes within the queried monitoring interval.
+ |
+
+unassign
+ |
+The number of unallocated indexes within the queried monitoring interval.
+ |
+
+docs.count
+ |
+The number of documents within the queried monitoring interval.
+ |
+
+docs.deleted
+ |
+The number of deleted documents within the queried monitoring interval.
+ |
+
+store.size
+ |
+Index storage size within the queried monitoring interval.
+ |
+
+pri.store.size
+ |
+Size of the primary index shard within the queried monitoring interval.
+ |
+
+delete.rate
+ |
+Number of indexes deleted per second within the queried monitoring interval.
+ |
+
+indexing.rate
+ |
+Number of indexes wrote per second within the queried monitoring interval.
+ |
+
+search.rate
+ |
+Number of indexes queried per second within the queried monitoring interval.
+ |
+
+
+
+
+
+ Checking Index Monitoring Data in OpenSearch Dashboards ChartsYou can check preconfigured index monitoring charts on the Dashboard and Visualizations pages of OpenSearch Dashboards. You can also customize tables and charts.
+ - Check index monitoring results in preconfigured dashboards.
- On the OpenSearch Dashboards console, expand the menu in the upper-left corner, and choose Dashboards.
- Click [Monitoring] Index monitoring Dashboard to check preconfigured dashboards.
Figure 1 Preconfigured dashboards
+The preconfigured dashboard displays the number of read and write operations per second in the cluster and the top 10 indexes that have the most read and write operations per second.
+
+Table 4 Preconfigured chartsChart Name
+ |
+Description
+ |
+
+
+[monitoring] markdown
+ |
+Markdown chart, which briefly describes the dashboard content.
+ |
+
+[monitoring] Indexing Rate (/s)
+ |
+Number of documents written to a cluster per second.
+ |
+
+[monitoring] Search Rate (/s)
+ |
+Average number of queries per second in a cluster.
+ |
+
+[monitoring] indexing rate of index for top10
+ |
+Top 10 indexes with the most documents written per second.
+ |
+
+[monitoring] search rate of index for top10
+ |
+Top 10 indexes with the most queries per second.
+ |
+
+[monitoring] total docs count
+ |
+Total number of documents in a cluster.
+ |
+
+[monitoring] total docs delete
+ |
+Total number of deleted documents in a cluster.
+ |
+
+[monitoring] total store size in bytes
+ |
+Total storage space occupied by documents in a cluster.
+ |
+
+[monitoring] indices store_size for top10
+ |
+Top 10 indexes that occupy the largest storage space.
+ |
+
+[monitoring] indices docs_count for top10
+ |
+Top 10 indexes that store the largest number of documents.
+ |
+
+[monitoring] indexing time in millis of index for top10(ms)
+ |
+Top 10 indexes with the longest document write latency in a unit time (ms).
+ |
+
+[monitoring] search query time in millis of index for top10(ms)
+ |
+Top 10 indexes with the longest index query time in a unit time (ms).
+ |
+
+[monitoring] segment count of index for top10
+ |
+Top 10 indexes with the largest number of index segments.
+ |
+
+[monitoring] segment memory in bytes of index for top10
+ |
+Top 10 indexes with the largest heap memory usage of index segments.
+ |
+
+
+
+
+
+ - Check index monitoring results in custom visualizations.
The index monitoring module periodically stores the index/stats information in the monitoring-eys-css index. You can create custom charts on OpenSearch Dashboards to visualize the information.
+The following procedure describes how to check the trend of document quantities in a chart as an example.
+- Click Visualize in the navigation tree on the left of the OpenSearch Dashboards console.
- Click Create visualization and select TSVB.
- Set chart parameters and view the visualizations.
On the Data tab page, set the parameters as needed.
+- Select Max for Aggregation, and select index_stats.primaries.docs.count in Field, indicating the number of documents in a primary shard.
- Select Derivative from Aggregation to indicate differences between aggregation buckets. Set Units to 1s to visualize network rates as "per second".
- Set Aggregation to Positive Only to prevent negative numbers after resetting.
- To show statistics by index, set Group by to Terms and By to index_stats.index. Statistics will be grouped by index name.
- To view data in different time segments, set the aggregation interval, or the displayed data will be incomplete. On the Panel options tab page, set Interval to 1m or 30m to adjust the interval of timestamp.
+Figure 2 TSVB page
+Figure 3 Setting the interval
+
+
+ If the index monitoring charts are not displayed, re-load them on OpenSearch Dashboards. If the preset dashboards and visualizations cannot be found for a security-mode OpenSearch cluster, try switching to the Private or Global space. If the issue persists, import the charts and graphs again.
+
+ - Create the monitoring-dashboards.ndjson file by referring to dashboards-monitor Configuration File.
- On OpenSearch Dashboards, choose Management > Dashboards Management > Saved objects.
- Click Import and upload the monitoring-dashboards.ndjson file created in 1.
- After the file is uploaded, click done. The index monitoring charts are imported successfully.
Figure 4 Index monitoring charts imported successfully
+
+
+
+ dashboards-monitor Configuration FileThe content of dashboards-monitor configuration file is as follows. You are advised to save the file as monitoring-dashboards.ndjson.
+ {"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] segment memory in bytes of index for top10","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] segment memory in bytes of index for top10\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"kibana\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\",\"field\":\"index_stats.total.segments.memory_in_bytes\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"segments memory in bytes \",\"type\":\"timeseries\",\"terms_field\":\"index_stats.index\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"time_field\":\"timestamp\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"isModelInvalid\":false}}"},"id":"3ae5d820-6628-11ed-8cd7-973626cf6f70","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIwNiwyXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] segment count of index for top10","uiStateJSON":"{}","version":1,"visState":"{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"filter\":{\"language\":\"kuery\",\"query\":\"\"},\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(231,102,76,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"segment count of index for top10\",\"line_width\":1,\"metrics\":[{\"field\":\"index_stats.total.segments.count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\"}],\"point_size\":1,\"separate_axis\":0,\"split_color_mode\":\"kibana\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"index_stats.index\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"},\"title\":\"[monitoring] segment count of index for top10\",\"type\":\"metrics\"}"},"id":"45d571c0-6626-11ed-8cd7-973626cf6f70","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIwNywyXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] markdown","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] markdown\",\"type\":\"markdown\",\"params\":{\"fontSize\":12,\"openLinksInNewTab\":false,\"markdown\":\"### Index Monitoring \\nThis dashboard contains default table for you to play with. You can view it, search it, and interact with the visualizations.\"},\"aggs\":[]}"},"id":"b2811c70-a5f1-11ec-9a68-ada9d754c566","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIwOCwyXQ=="}
+{"attributes":{"description":"number of document being indexing for primary and replica shards","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] Indexing Rate (/s)","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] Indexing Rate (/s)\",\"type\":\"metrics\",\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"rgba(0,32,188,1)\",\"split_mode\":\"everything\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\",\"field\":\"indices_stats._all.total.indexing.index_total\"},{\"unit\":\"1s\",\"id\":\"fed72db0-a5f8-11ec-aa10-992297d21a2e\",\"type\":\"derivative\",\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\"},{\"unit\":\"\",\"id\":\"14b66420-a5f9-11ec-aa10-992297d21a2e\",\"type\":\"positive_only\",\"field\":\"fed72db0-a5f8-11ec-aa10-992297d21a2e\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Indexing Rate (/s)\",\"type\":\"timeseries\",\"split_color_mode\":\"rainbow\",\"hidden\":false}],\"time_field\":\"timestamp\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"isModelInvalid\":false,\"legend_position\":\"bottom\"},\"aggs\":[]}"},"id":"de4f8ab0-a5f8-11ec-9a68-ada9d754c566","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIwOSwyXQ=="}
+{"attributes":{"description":"number of search request being executed in primary and replica shards","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] Search Rate (/s)","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] Search Rate (/s)\",\"type\":\"metrics\",\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"rgba(0,33,224,1)\",\"split_mode\":\"everything\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\",\"field\":\"indices_stats._all.total.search.query_total\"},{\"unit\":\"1s\",\"id\":\"b1093ac0-a5f7-11ec-aa10-992297d21a2e\",\"type\":\"derivative\",\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\"},{\"unit\":\"\",\"id\":\"c17db930-a5f7-11ec-aa10-992297d21a2e\",\"type\":\"positive_only\",\"field\":\"b1093ac0-a5f7-11ec-aa10-992297d21a2e\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"split_color_mode\":\"rainbow\",\"label\":\"Search Rate (/s)\",\"type\":\"timeseries\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"}}],\"time_field\":\"timestamp\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"isModelInvalid\":false,\"legend_position\":\"bottom\"},\"aggs\":[]}"},"id":"811df7a0-a5f8-11ec-9a68-ada9d754c566","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIxMCwyXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] total docs count","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] total docs count\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"rgba(218,139,69,1)\",\"split_mode\":\"everything\",\"split_color_mode\":\"kibana\",\"metrics\":[{\"unit\":\"\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\",\"field\":\"indices_stats._all.total.docs.count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"total_docs_count\",\"type\":\"timeseries\"}],\"time_field\":\"timestamp\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"isModelInvalid\":false,\"legend_position\":\"bottom\"}}"},"id":"eea89780-664b-11ed-8cd7-973626cf6f70","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIxMSwyXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] total docs delete","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] total docs delete\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"rgba(214,191,87,1)\",\"split_mode\":\"everything\",\"split_color_mode\":\"kibana\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\",\"field\":\"indices_stats._all.total.docs.deleted\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"totol_docs_delete\",\"type\":\"timeseries\",\"hidden\":false}],\"time_field\":\"timestamp\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"isModelInvalid\":false,\"drop_last_bucket\":1,\"legend_position\":\"bottom\"}}"},"id":"cfbb4e20-664c-11ed-8cd7-973626cf6f70","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIxMiwyXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] total store size in bytes","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] total store size in bytes\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"split_color_mode\":\"kibana\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\",\"field\":\"indices_stats._all.total.store.size_in_bytes\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"total store size in bytes\",\"type\":\"timeseries\"}],\"time_field\":\"timestamp\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"isModelInvalid\":false,\"legend_position\":\"bottom\",\"background_color_rules\":[{\"id\":\"7712e550-664f-11ed-8b5d-8db37e5b4cc4\"}],\"bar_color_rules\":[{\"id\":\"77680a30-664f-11ed-8b5d-8db37e5b4cc4\"}]}}"},"id":"c7f72ae0-664e-11ed-8cd7-973626cf6f70","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIxMywyXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] indexing rate of index for top10(/s)","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] indexing rate of index for top10(/s)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\",\"field\":\"index_stats.total.indexing.index_total\"},{\"unit\":\"1s\",\"id\":\"541ed8f0-a5ee-11ec-aa10-992297d21a2e\",\"type\":\"derivative\",\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\"},{\"unit\":\"\",\"id\":\"67ec1f50-a5ee-11ec-aa10-992297d21a2e\",\"type\":\"positive_only\",\"field\":\"541ed8f0-a5ee-11ec-aa10-992297d21a2e\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"indexing_rate\",\"type\":\"timeseries\",\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"81004200-a5ee-11ec-aa10-992297d21a2e\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"}}],\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"terms_field\":\"index_stats.index\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"10\",\"terms_direction\":\"desc\",\"split_color_mode\":\"rainbow\"}],\"time_field\":\"timestamp\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"isModelInvalid\":false,\"tooltip_mode\":\"show_all\"}}"},"id":"943b3e00-a5ef-11ec-9a68-ada9d754c566","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIxNCwyXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] search rate of index for top10(/s)","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] search rate of index for top10(/s)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"rgba(99,157,12,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\",\"field\":\"index_stats.total.search.query_total\"},{\"unit\":\"1s\",\"id\":\"fdfdfad0-a5ef-11ec-aa10-992297d21a2e\",\"type\":\"derivative\",\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\"},{\"unit\":\"\",\"id\":\"0aaa26a0-a5f0-11ec-aa10-992297d21a2e\",\"type\":\"positive_only\",\"field\":\"fdfdfad0-a5ef-11ec-aa10-992297d21a2e\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"search rate\",\"type\":\"timeseries\",\"terms_field\":\"index_stats.index\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"rainbow\"}],\"time_field\":\"timestamp\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"isModelInvalid\":false,\"tooltip_mode\":\"show_all\"}}"},"id":"ab503550-a5ef-11ec-9a68-ada9d754c566","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIxNSwyXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] indices store_size for top10","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] indices store_size for top10\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"38474c50-a5f5-11ec-aa10-992297d21a2e\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"id\":\"38474c51-a5f5-11ec-aa10-992297d21a2e\",\"type\":\"max\",\"field\":\"index_stats.total.store.size_in_bytes\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"store_size for index\",\"type\":\"timeseries\",\"terms_field\":\"index_stats.index\",\"terms_order_by\":\"38474c51-a5f5-11ec-aa10-992297d21a2e\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"split_color_mode\":\"rainbow\"}],\"time_field\":\"timestamp\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"isModelInvalid\":false,\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"bar_color_rules\":[{\"id\":\"7d9d3cb0-a5f5-11ec-aa10-992297d21a2e\"}],\"tooltip_mode\":\"show_all\"}}"},"id":"c78119a0-a5f5-11ec-9a68-ada9d754c566","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIxNiwyXQ=="}
+{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{}"},"title":"[monitoring] search query time in millis of index for top10(ms)","uiStateJSON":"{}","version":1,"visState":"{\"title\":\"[monitoring] search query time in millis of index for top10(ms)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_max\":\"\",\"axis_min\":\"\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"monitoring-eye-css-*\",\"default_timefield\":\"timestamp\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"monitoring-eye-css-*\",\"interval\":\"\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"index_query_time_in_millis\",\"line_width\":1,\"metrics\":[{\"field\":\"index_stats.total.search.query_time_in_millis\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\"},{\"unit\":\"1s\",\"id\":\"42c92b10-6645-11ed-925a-6de90846447d\",\"type\":\"derivative\",\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"point_size\":1,\"separate_axis\":0,\"split_color_mode\":\"kibana\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"index_stats.index\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\",\"background_color\":null,\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"legend_position\":\"right\"}}"},"id":"c8109100-6627-11ed-8cd7-973626cf6f70","references":[],"type":"visualization","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIxNywyXQ=="}
+{"attributes":{"description":"","hits":0,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"},"optionsJSON":"{\"hidePanelTitles\":false,\"useMargins\":true}","panelsJSON":"[{\"gridData\":{\"x\":0,\"y\":0,\"w\":48,\"h\":5,\"i\":\"971ed6c6-81b9-491b-9f08-e3ae9c382abd\"},\"panelIndex\":\"971ed6c6-81b9-491b-9f08-e3ae9c382abd\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"gridData\":{\"x\":0,\"y\":5,\"w\":24,\"h\":15,\"i\":\"5a6982e7-0c6c-4733-8a2d-e4c57cdf7397\"},\"panelIndex\":\"5a6982e7-0c6c-4733-8a2d-e4c57cdf7397\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"gridData\":{\"x\":24,\"y\":5,\"w\":24,\"h\":15,\"i\":\"662476f4-739c-4a05-858c-2ee8230cf410\"},\"panelIndex\":\"662476f4-739c-4a05-858c-2ee8230cf410\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"gridData\":{\"x\":0,\"y\":20,\"w\":16,\"h\":15,\"i\":\"d89c38e2-33f3-4592-b503-20460a6a7a57\"},\"panelIndex\":\"d89c38e2-33f3-4592-b503-20460a6a7a57\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"},{\"gridData\":{\"x\":16,\"y\":20,\"w\":16,\"h\":15,\"i\":\"1f693b49-79fa-4807-94e8-0c12f51e54f8\"},\"panelIndex\":\"1f693b49-79fa-4807-94e8-0c12f51e54f8\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"},{\"gridData\":{\"x\":32,\"y\":20,\"w\":16,\"h\":15,\"i\":\"616b143d-74e9-4dac-98ba-5849536f0fba\"},\"panelIndex\":\"616b143d-74e9-4dac-98ba-5849536f0fba\",\"embeddableConfig\":{},\"panelRefName\":\"panel_5\"},{\"gridData\":{\"x\":0,\"y\":35,\"w\":24,\"h\":11,\"i\":\"cfa82f27-1b8d-49ba-a7b9-d8809d3b258c\"},\"panelIndex\":\"cfa82f27-1b8d-49ba-a7b9-d8809d3b258c\",\"embeddableConfig\":{},\"panelRefName\":\"panel_6\"},{\"gridData\":{\"x\":24,\"y\":35,\"w\":24,\"h\":11,\"i\":\"135d13eb-aab6-43ca-9029-7d26e91d90e3\"},\"panelIndex\":\"135d13eb-aab6-43ca-9029-7d26e91d90e3\",\"embeddableConfig\":{},\"panelRefName\":\"panel_7\"},{\"gridData\":{\"x\":0,\"y\":46,\"w\":24,\"h\":11,\"i\":\"28a77de1-9110-49e8-b273-724f880b1653\"},\"panelIndex\":\"28a77de1-9110-49e8-b273-724f880b1653\",\"embeddableConfig\":{},\"panelRefName\":\"panel_8\"},{\"gridData\":{\"x\":24,\"y\":46,\"w\":24,\"h\":11,\"i\":\"80ece867-cf23-4935-bfbc-430afa51bcca\"},\"panelIndex\":\"80ece867-cf23-4935-bfbc-430afa51bcca\",\"embeddableConfig\":{},\"panelRefName\":\"panel_9\"},{\"gridData\":{\"x\":0,\"y\":57,\"w\":24,\"h\":11,\"i\":\"2ba970aa-c9c4-491b-bdd3-c1b1ee9bc8d3\"},\"panelIndex\":\"2ba970aa-c9c4-491b-bdd3-c1b1ee9bc8d3\",\"embeddableConfig\":{},\"panelRefName\":\"panel_10\"},{\"gridData\":{\"x\":24,\"y\":57,\"w\":24,\"h\":11,\"i\":\"f2e1b6ab-ddf7-492e-aaca-9460f11aa4aa\"},\"panelIndex\":\"f2e1b6ab-ddf7-492e-aaca-9460f11aa4aa\",\"embeddableConfig\":{},\"panelRefName\":\"panel_11\"},{\"gridData\":{\"x\":0,\"y\":68,\"w\":24,\"h\":11,\"i\":\"dd14182d-d8b9-47f2-bf36-6cba3b09586c\"},\"panelIndex\":\"dd14182d-d8b9-47f2-bf36-6cba3b09586c\",\"embeddableConfig\":{},\"panelRefName\":\"panel_12\"},{\"gridData\":{\"x\":24,\"y\":68,\"w\":24,\"h\":11,\"i\":\"a47f9333-52b7-49b7-8cac-f470cf405131\"},\"panelIndex\":\"a47f9333-52b7-49b7-8cac-f470cf405131\",\"embeddableConfig\":{},\"panelRefName\":\"panel_13\"}]","timeRestore":false,"title":"[Monitoring] Index monitoring Dashboard","version":1},"id":"524eb000-a5f2-11ec-9a68-ada9d754c566","references":[{"id":"b2811c70-a5f1-11ec-9a68-ada9d754c566","name":"panel_0","type":"visualization"},{"id":"de4f8ab0-a5f8-11ec-9a68-ada9d754c566","name":"panel_1","type":"visualization"},{"id":"811df7a0-a5f8-11ec-9a68-ada9d754c566","name":"panel_2","type":"visualization"},{"id":"eea89780-664b-11ed-8cd7-973626cf6f70","name":"panel_3","type":"visualization"},{"id":"cfbb4e20-664c-11ed-8cd7-973626cf6f70","name":"panel_4","type":"visualization"},{"id":"c7f72ae0-664e-11ed-8cd7-973626cf6f70","name":"panel_5","type":"visualization"},{"id":"943b3e00-a5ef-11ec-9a68-ada9d754c566","name":"panel_6","type":"visualization"},{"id":"ab503550-a5ef-11ec-9a68-ada9d754c566","name":"panel_7","type":"visualization"},{"id":"c78119a0-a5f5-11ec-9a68-ada9d754c566","name":"panel_8","type":"visualization"},{"id":"225f6020-a5f1-11ec-9a68-ada9d754c566","name":"panel_9","type":"visualization"},{"id":"17d49220-662a-11ed-8cd7-973626cf6f70","name":"panel_10","type":"visualization"},{"id":"c8109100-6627-11ed-8cd7-973626cf6f70","name":"panel_11","type":"visualization"},{"id":"45d571c0-6626-11ed-8cd7-973626cf6f70","name":"panel_12","type":"visualization"},{"id":"3ae5d820-6628-11ed-8cd7-973626cf6f70","name":"panel_13","type":"visualization"}],"type":"dashboard","updated_at":"2022-12-01T12:41:01.165Z","version":"WzIxOCwyXQ=="}
+{"exportedCount":16,"missingRefCount":0,"missingReferences":[]}
+
+
diff --git a/docs/css/umn/css_01_0046.html b/docs/css/umn/css_01_0046.html
new file mode 100644
index 000000000..5d805f513
--- /dev/null
+++ b/docs/css/umn/css_01_0046.html
@@ -0,0 +1,141 @@
+
+
+ Using CDM to Import Data to Elasticsearch
+ With CSS, you can use the web user interface of the Cloud Data Migration (CDM) service to import data from an Oracle database or OBS to an Elasticsearch cluster. Only JSON files are supported.
+
+ Table 1 Using CDM to import data to CSSScenario
+ |
+Source Data
+ |
+Target Cluster
+ |
+
+
+Importing data from an Oracle database to CSS
+ |
+A local or third-party Oracle database
+ |
+Elasticsearch 5.5, 6.2, 6.5, 7.1, 7.6, 7.9, or 7.10
+ |
+
+Importing data from OBS to CSS
+ |
+JSON files in OBS buckets
+ |
+Elasticsearch 5.5, 6.2, 6.5, 7.1, 7.6, 7.9, or 7.10
+ |
+
+
+
+
+ Preparations- Confirm the source data.
For example, the source data can be the following JSON files:
+For Elasticsearch 7.x or later: {"index": {"_index":"my_store"}}
+{"productName":"Autumn new woman blouses 2019","size":"M"}
+{"index": {"_index":"my_store"}}
+{"productName":"Autumn new woman blouses 2019","size":"L"}
+
+For Elasticsearch earlier than 7.x: {"index": {"_index":"my_store","_type":"products"}}
+{"productName":"Autumn new woman blouses 2019","size":"M"}
+{"index": {"_index":"my_store","_type":"products"}}
+{"productName":"Autumn new woman blouses 2019","size":"L"}
+
+ - Obtain data source information.
- If the data source is an Oracle database, you need to obtain the IP address, database name, username, and password of the database.
- If the data source is JSON files in an OBS bucket, you need to obtain its domain name, port, AK, and SK.
+ - If the data source is an Oracle database, make sure the Oracle database can be accessed using a public IP address, or a VPN or Direct Connect connection has been established between the customer's data center and the cloud service.
+
+ Importing Data- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, obtain the target cluster's private IP address from the Private IP Address column. Generally, the IP address format is <host>:<port> or <host>:<port>,<host>:<port>.
If the cluster has only one node, the IP address and port number of this one node are displayed, for example, 10.62.179.32:9200. If the cluster has multiple nodes, the IP addresses and port numbers of all nodes are displayed, for example, 10.62.179.32:9200,10.62.179.33:9200.
+ - In the cluster list, locate the destination cluster, and click Access Kibana in the Operation column to log in to the Kibana console.
- In the Kibana navigation pane on the left, choose Dev Tools.
- Run the following command on the console to check whether the cluster has indexes:
GET _cat/indices?v
+- If indexes are available in the cluster to which you want to import data, you do not need to create an index. Go to 8.
- If no indexes are available in the cluster, go to the next step to create an index.
+ - Run the following command to create an index for storing imported data and create a custom mapping to define the data type.
For example, run the following command to create index demo:
+For Elasticsearch 7.x or later:
+PUT /demo
+{
+ "settings": {
+ "number_of_shards": 1
+ },
+ "mappings": {
+ "properties": {
+ "productName": {
+ "type": "text",
+ "analyzer": "ik_smart"
+ },
+ "size": {
+ "type": "keyword"
+ }
+ }
+ }
+ }
+For Elasticsearch earlier than 7.x: PUT /demo
+{
+ "settings": {
+ "number_of_shards": 1
+ },
+ "mappings": {
+ "products": {
+ "properties": {
+ "productName": {
+ "type": "text",
+ "analyzer": "ik_smart"
+ },
+ "size": {
+ "type": "keyword"
+ }
+ }
+ }
+ }
+}
+
+The command is successfully executed if the following information is displayed.
+{
+ "acknowledged" : true,
+ "shards_acknowledged" : true,
+ "index" : "demo"
+}
+ - Use CDM to import data from Oracle or OBS to the Elasticsearch cluster.
- After the data migration is complete, go to the Kibana console of the Elasticsearch cluster again, and search for the imported data.
Run the following command to search for data. If the imported data is consistent with the source data, data importing is successful.
+GET demo/_search
+demo is the name of the created index. Replace it if another index is used.
+The command is successfully executed if the following information is displayed.
+{
+ "took": 18,
+ "timed_out": false,
+ "_shards": {
+ "total": 1,
+ "successful": 1,
+ "skipped": 0,
+ "failed": 0
+ },
+ "hits": {
+ "total": 2,
+ "max_score": 1,
+ "hits": [
+ {
+ "_index": "demo",
+ "_type": "products",
+ "_id": "g6UepnEBuvdFwWkRmn4V",
+ "_score": 1,
+ "_source": {
+ "size": """"size":"L"}""",
+ "productName": """{"productName":"Latest art shirts for women in autumn 2019""""
+ }
+ },
+ {
+ "_index": "demo",
+ "_type": "products",
+ "_id": "hKUepnEBuvdFwWkRmn4V",
+ "_score": 1,
+ "_source": {
+ "size": """"size":"M"}""",
+ "productName": """{"productName":"Latest art shirts for women in autumn 2019""""
+ }
+ }
+ ]
+ }
+}
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0047.html b/docs/css/umn/css_01_0047.html
new file mode 100644
index 000000000..41ed29bcf
--- /dev/null
+++ b/docs/css/umn/css_01_0047.html
@@ -0,0 +1,150 @@
+
+
+ Configuring an Index Recycle Bin for an OpenSearch Cluster
+ By default, when indexes are deleted in an OpenSearch cluster, the index data is deleted permanently. To prevent data loss caused by accidental deletion, CSS provides an index recycle bin. When enabled, deleted indexes are temporarily stored in the recycle bin, allowing for recovery before they are permanently removed. This feature improves data reliability and operational security.
+ How the Feature WorksThe index recycle bin works as follows:
+ - Data recycling mechanism: When an index is deleted, it is first moved to the recycle bin. From there, it will be automatically cleared when a predefined retention duration expires. Indexes in the recycle bin are still part of the cluster metadata and can be restored using an API.
- Status management
- When the DELETE API is used to delete an index, the index is closed, and the cluster status temporarily changes to Red.
- When the restore API is used to restore an index, the index is reopened and shards are initialized, which may also cause the cluster status to temporarily change to Red.
+
+
+ Constraints- Only OpenSearch 2.19.0 supports the index recycle bin.
+ - Indexes in the recycle bin are still part of the cluster metadata. Before they are removed from the recycle bin, same-name indexes cannot be created for the cluster.
+
+ Logging In to OpenSearch DashboardsLog in to OpenSearch Dashboards and go to the command execution page. OpenSearch clusters support multiple access methods. This topic uses OpenSearch Dashboards as an example to describe the operation procedures.
+ - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > OpenSearch.
- In the cluster list, find the target cluster, and click Dashboards in the Operation column to log in to OpenSearch Dashboards.
- In the left navigation pane, choose Dev Tools.
The left part of the console is the command input box, and the triangle icon in its upper-right corner is the execution button. The right part shows the execution result.
+
+
+ Enabling the Index Recycle BinRun the following command to enable the index recycle bin:
+ PUT _cluster/settings
+{
+ "persistent": {
+ "index.trash.enabled": true
+ }
+}
+
+ Table 1 Parameters for enabling the index recycle binParameter
+ |
+Type
+ |
+Description
+ |
+
+
+index.trash.enabled
+ |
+Boolean
+ |
+Whether to enable the index recycle bin. When the index recycle bin is enabled, deleting indexes will first move them to the recycle bin. The indexes will be permanently deleted only when they are cleared from the recycle bin.
+- true: Enable the index recycle bin.
- false (default): Disable the index recycle bin.
+ |
+
+indices.trash.keep.time
+ |
+String
+ |
+Index retention duration in the recycle bin. Indexes will be automatically removed from the recycle bin when this duration expires.
+Examples of supported time formats: 1d (one day), 7d (seven days), 1w (one week), 1h (one hour). The minimum duration is 1d.
+Default value: 1d.
+ |
+
+
+
+
+ The following command deletes an index: DELETE {INDEX_NAME}
+
+ INDEX_NAME indicates the name of the index to be deleted. Wildcards can be used to specify indexes.
+
+
+ Viewing Indexes in the Recycle BinRun the following command to view indexes in the index recycle bin:
+ GET _cat/trash?v=true&s=index
+
+ Table 2 Parameter descriptionParameter
+ |
+Description
+ |
+
+
+v
+ |
+Whether to display the table header when the return format is a table.
+- true: display the table header.
- false: not display the table header.
+The default value is false.
+ |
+
+s
+ |
+Index sorting fields. Options include index, uuid, pri, rep, trash.ts, and delete.time.
+ |
+
+format
+ |
+Return format of the command. The default format is table. Other options include json, yaml, cobr, and smile. cobr and smile are binary formats.
+ |
+
+h
+ |
+Set the column names to be displayed. By default, all column names are displayed. To specify multiple column names, separate them using commas (,), for example, h=index,uuid,delete.time.
+ |
+
+
+
+
+ The following is an example of the output.
+ index uuid pri rep trash.ts delete.time
+index1 CMD3FCLzTOyTg4RUekWNNA 1 1 1714465116615 23.6h
+index1 6ATijuu6SfqamVI-WMyOKg 1 1 1714466233898 23.9h
+
+ Table 3 Parameters in the outputColumn
+ |
+Description
+ |
+
+
+index
+ |
+Index name
+ |
+
+uuid
+ |
+Index UUID
+ |
+
+pri
+ |
+Number of shards of an index
+ |
+
+rep
+ |
+Number of replicas of an index
+ |
+
+trash.ts
+ |
+Time when an index was moved to the recycle bin
+ |
+
+delete.time
+ |
+Remaining retention duration of an index in the recycle bin. When the value changes to 0, the index is permanently deleted.
+ |
+
+
+
+
+
+ Restoring an Index from the Recycle BinRun the following command to restore an index from the recycle bin:
+ POST /trash/recover/{INDEX_NAME}
+ INDEX_NAME indicates the name of the index to be restored. Wildcards can be used to specify indexes.
+
+ Emptying the Recycle BinRun the following command to empty the recycle bin:
+ POST trash/empty
+ Emptying the recycle bin will permanently delete all data in it. Please exercise caution.
+
+
+
+
diff --git a/docs/css/umn/css_01_0048.html b/docs/css/umn/css_01_0048.html
index 64f511dc4..35f119cd4 100644
--- a/docs/css/umn/css_01_0048.html
+++ b/docs/css/umn/css_01_0048.html
@@ -1,26 +1,21 @@
-
+
Using In-house Built Logstash to Import Data to Elasticsearch
- You can use in-house built Logstash to migrate data to Elasticsearch or OpenSearch in CSS. This helps you effectively ingest and manage data through CSS. Data files can be in the JSON or CSV format.
- Logstash is an open-source, server-side data processing pipeline that can ingest data from multiple sources simultaneously, transform data, and then send data to Elasticsearch or OpenSearch. For details about Logstash, visit the following website: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html
- The following two scenarios are involved depending on the Logstash deployment:
-
- Prerequisites
+ With CSS, you can use in-house developed Logstash to ingest data into Elasticsearch for efficient search and exploration. Data files can be in the JSON or CSV format.
+ Logstash is an open-source, server-side data processing pipeline that ingests data from multiple sources simultaneously, processes and transforms the data, and then sends it to Elasticsearch. For details about Logstash, visit the following website: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html
+ The following two scenarios are involved depending on the Logstash deployment:
+
+ Prerequisites- To facilitate operations, you are advised to deploy Logstash on a host that runs the Linux operating system (OS).
- Logstash must use an OSS version that is consistent with that of the CSS cluster. To download Logstash, visit the following website: https://www.elastic.co/downloads/logstash-oss
- The JDK must be installed before Logstash is installed. In Linux OS, you can run the yum -y install java-1.8.0 command to install JDK 1.8.0. In Windows OS, you can download the required JDK version from the official website of JDK, and install it by following the installation guide.
- After installing Logstash, perform the following steps to import data. For details about how to install Logstash, visit the following website: https://www.elastic.co/guide/en/logstash/current/installing-logstash.html
- In the Importing Data When Logstash Is Deployed on an ECS scenario, ensure that the ECS and the Elasticsearch cluster to which data is imported reside in the same VPC.
- Importing Data When Logstash Is Deployed on the External NetworkFigure 1 illustrates how data is imported when Logstash is deployed on an external network.
- Figure 1 Importing data when Logstash is deployed on an external network
- - Create a jump host and configure it as follows:
- The jump host is an ECS running the Linux OS and has been bound with an EIP.
- The jump host resides in the same VPC as the CSS cluster.
- SSH local port forwarding is configured for the jump host to forward requests from a chosen local port to port 9200 on one node of the CSS cluster.
- Refer to SSH documentation for the local port forwarding configuration.
- - Use PuTTY to log in to the created jump host with the EIP.
- Run the following command to perform port mapping and transfer the request sent to the port on the jump host to the target cluster:
ssh -g -L <Local port of the jump host:Private network address and port number of a node> -N -f root@<Private IP address of the jump host>
- - In the preceding command, <Local port of the jump host> refers to the port obtained in 1.
- In the preceding command, <Private network address and port number of a node> refers to the private network address and port number of a node in the cluster. If the node is faulty, the command execution will fail. If the cluster contains multiple nodes, you can replace the value of <private network address and port number of a node> with the private network address and port number of any available node in the cluster. If the cluster contains only one node, restore the node and execute the command again.
- Replace <Private IP address of the jump host> in the preceding command with the IP address (with Private IP) of the created jump host in the IP Address column in the ECS list on the ECS management console.
-
-For example, port 9200 on the jump host is assigned external network access permissions, the private network address and port number of the node are 192.168.0.81 and 9200, respectively, and the private IP address of the jump host is 192.168.0.227. You need to run the following command to perform port mapping:
-ssh -g -L 9200:192.168.0.81:9200 -N -f root@192.168.0.227
- - Log in to the server where Logstash is deployed and store the data files to be imported on the server.
For example, data file access_20181029_log needs to be imported, the file storage path is /tmp/access_log/, and the data file includes the following data:
- Create the access_log folder if it does not exist.
-
-| All | Heap used for segments | | 18.6403 | MB |
+Importing Data When Logstash Is Deployed on the External NetworkFigure 1 illustrates how data is imported when Logstash is deployed on an external network.
+ Figure 1 Importing data when Logstash is deployed on an external network
+ - Create a jump host and configure it as follows:
- The jump host is an ECS running the Linux OS and has been bound with an EIP.
- The jump host resides in the same VPC as the CSS cluster.
- SSH local port forwarding is configured for the jump host to forward requests from a chosen local port to port 9200 on one node of the CSS cluster.
- Refer to SSH documentation for the local port forwarding configuration.
+ - Use PuTTY to log in to the created jump host with the EIP.
- Run the following command to configure port mapping to forward requests sent to the opened port on the jump host to the destination cluster:
ssh -g -L <Local port of the jump host:Private network address and port number of a node> -N -f root@<Private IP address of the jump host>
+- In the preceding command, <Local port of the jump host> refers to the port obtained in 1.
- In the preceding command, <Private network address and port number of a node> refers to the private network address and port number of a node in the cluster. If the node is faulty, the command execution will fail. If the cluster contains multiple nodes, you can replace the value of <private network address and port number of a node> with the private network address and port number of any available node in the cluster. If the cluster contains only one node, restore the node and execute the command again.
- Replace <Private IP address of the jump host> in the preceding command with the IP address (with Private IP) of the created jump host in the IP Address column in the ECS list on the ECS management console.
+For example, port 9200 on the jump host is assigned external network access permissions, the private network address and port number of the node are 192.168.0.81 and 9200, respectively, and the private IP address of the jump host is 192.168.0.227. You need to run the following command to perform port mapping:
+ssh -g -L 9200:192.168.0.81:9200 -N -f root@192.168.0.227
+ - Log in to the server where Logstash is deployed and store the data files to be imported on the server.
For example, data file access_20181029_log needs to be imported, the file storage path is /tmp/access_log/ (create the access_log folder if it does not already exist), and the data file includes the following data:
+| All | Heap used for segments | | 18.6403 | MB |
| All | Heap used for doc values | | 0.119289 | MB |
| All | Heap used for terms | | 17.4095 | MB |
| All | Heap used for norms | | 0.0767822 | MB |
@@ -31,25 +26,25 @@
| All | Median Throughput | index-append | 66735.3 | docs/s |
| All | Max Throughput | index-append | 67745.6 | docs/s |
| All | 50th percentile latency | index-append | 510.261 | ms |
- - In the server where Logstash is deployed, run the following command to create configuration file logstash-simple.conf in the Logstash installation directory:
cd /<Logstash installation directory>/
+ - On the server where Logstash is deployed, run the following command to create configuration file logstash-simple.conf in the Logstash installation directory:
cd /<Logstash installation directory>/
vi logstash-simple.conf
- - Input the following content in logstash-simple.conf:
input {
-Location of data
+ - Enter the following content in logstash-simple.conf:
input {
+Location of data
}
filter {
-Related data processing
+Related data processing
}
output {
elasticsearch {
- hosts => "<EIP of the jump host>:<Number of the port assigned external network access permissions on the jump host>"
- (Optional) If communication encryption has been enabled on the cluster, you need to add the following configuration:
+ hosts => "<EIP of the jump host>:<Number of the port assigned external network access permissions on the jump host>"
+ (Optional) If communication encryption has been enabled for the cluster, you need to add the following configuration:
ssl => true
ssl_certificate_verification => false
}
}
-- The input parameter indicates the data source. Set this parameter based on the actual conditions. For details about the input parameter and parameter usage, visit the following website: https://www.elastic.co/guide/en/logstash/current/input-plugins.html
- The filter parameter specifies the mode in which data is processed. For example, extract and process logs to convert unstructured information into structured information. For details about the filter parameter and parameter usage, visit the following website: https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
- The output parameter indicates the destination address of the data. For details about the output parameter and parameter usage, visit https://www.elastic.co/guide/en/logstash/current/output-plugins.html. Replace <EIP address of the jump host> with the IP address (with EIP) of the created jump host in the IP Address column in the ECS list on the ECS management console. <Number of the port assigned external network access permissions on the jump host> is the number of the port obtained in 1, for example, 9200.
-Consider the data files in the /tmp/access_log/ path mentioned in 4 as an example. Assume that data import starts from data in the first row of the data file, the filtering condition is left unspecified (indicating no data processing operations are performed), the public IP address and port number of the jump host are 192.168.0.227 and 9200, respectively, and the name of the target index is myindex. Edit the configuration file as follows, and enter :wq to save the configuration file and exit.
-input {
+- The input parameter indicates the data source. Set this parameter based on the actual conditions. For details about the input parameter and parameter usage, visit the following website: https://www.elastic.co/guide/en/logstash/current/input-plugins.html
- The filter parameter specifies the mode in which data is processed. For example, extract and process logs to convert unstructured information into structured information. For details about the filter parameter and parameter usage, visit the following website: https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
- The output parameter indicates the destination address of the data. For details about the output parameter and parameter usage, visit https://www.elastic.co/guide/en/logstash/current/output-plugins.html. Replace <EIP address of the jump host> with the IP address (with EIP) of the created jump host in the IP Address column in the ECS list on the ECS management console. <Number of the port assigned external network access permissions on the jump host> is the number of the port obtained in 1, for example, 9200.
+Consider the data files in the /tmp/access_log/ path mentioned in 4 as an example. Assume that data import starts from data in the first row of the data file, the filtering condition is left unspecified (indicating no data processing operations are performed), the public IP address and port number of the jump host are 192.168.0.227 and 9200, respectively, and the name of the target index is myindex. Edit the configuration file as follows, and enter :wq to save the configuration file and exit.
+input {
file{
path => "/tmp/access_log/*"
start_position => "beginning"
@@ -64,11 +59,10 @@ output {
}
}
- If a license error is reported, set ilm_enabled to false.
+ If a license error is reported, set ilm_enabled to false to try and rectify the error.
- If the cluster has the security mode enabled, you need to download a certificate first.
- - Log in to the CSS management console.
- On the Clusters page, click the name of the cluster for which you want to download a certificate. The Basic Information page is displayed.
- Download a certificate on the Basic Information page of the cluster.
Figure 2 Downloading a certificate
- - Store the certificate to the server where Logstash is deployed.
- Modify the logstash-simple.conf configuration file.
Consider the data files in the /tmp/access_log/ path mentioned in 4 as an example. Assume that data import starts from data in the first row of the data file, the filtering condition is left unspecified (indicating no data processing operations are performed), and the public IP address and port number of the jump host are 192.168.0.227 and 9200, respectively. The name of the index for importing data is myindex, and the certificate is stored in /logstash/logstash6.8/config/CloudSearchService.cer. Edit the configuration file as follows, and enter :wq to save the configuration file and exit. input{
+If the cluster has the security mode enabled, you need to download a certificate first.
+- Obtaining the Security Certificate.
- Store the downloaded certificate to the server where Logstash is deployed.
- Modify the logstash-simple.conf configuration file.
Consider the data files in the /tmp/access_log/ path mentioned in 4 as an example. Assume that data import starts from data in the first row of the data file, the filtering condition is left unspecified (indicating no data processing operations are performed), and the public IP address and port number of the jump host are 192.168.0.227 and 9200, respectively. The name of the index for importing data is myindex, and the certificate is stored in /logstash/config/CloudSearchService.cer. Edit the configuration file as follows, and enter :wq to save the configuration file and exit. input{
file {
path => "/tmp/access_log/*"
start_position => "beginning"
@@ -80,31 +74,27 @@ output{
elasticsearch{
hosts => ["https://192.168.0.227:9200"]
index => "myindex"
- user => "admin"
- password => "******"
- cacert => "/logstash/logstash6.8/config/CloudSearchService.cer"
+ user => "admin" # Username for accessing the security-mode cluster
+ password => "******" # Password for accessing the security-mode cluster
+ cacert => "/logstash/config/CloudSearchService.cer"
manager_template => false
ilm_enabled => false
ssl => true
ssl_certificate_verification => false
}
}
- password: password for logging in to the cluster
-
-- Run the following command to import the data collected by Logstash to the cluster:
./bin/logstash -f logstash-simple.conf
- This command must be executed in the directory where the logstash-simple.conf file is stored. For example, if the logstash-simple.conf file is stored in /root/logstash-7.1.1/, go to the directory before running the command.
-
- - Log in to the CSS management console.
- In the navigation pane on the left, expand Clusters and select a cluster type. A cluster list is displayed.
- From the cluster list, locate the row that contains the cluster to which you want to import data and click Access Kibana in the Operation column.
- In the Kibana navigation pane on the left, choose Dev Tools.
- On the Console page of Kibana, search for the imported data.
On the Console page of Kibana, run the following command to search for data. View the search results. If the searched data is consistent with the imported data, the data has been imported successfully.
-GET myindex/_search
+ - Run the following command to import the data collected by Logstash to the cluster:
./bin/logstash -f logstash-simple.conf
+This command must be executed in the directory where the logstash-simple.conf file is located. For example, if the logstash-simple.conf file is stored in /root/logstash-7.1.1/, navigate to this directory before executing the command.
+ - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, find the target cluster, and click Kibana in the Operation column to log in to the Kibana console.
- In the left navigation pane, choose Dev Tools.
- On the Kibana console, search for the ingested data.
Run the following command to search for data. View the search results. If the searched data is consistent with the imported data, the data has been imported successfully.
+GET myindex/_search
-Importing Data When Logstash Is Deployed on an ECSFigure 3 illustrates how data is imported when Logstash is deployed on an ECS that resides in the same VPC as the cluster to which data is to be imported.
- Figure 3 Importing data when Logstash is deployed on an ECS
- - Ensure that the ECS where Logstash is deployed and the cluster to which data is to be imported reside in the same VPC, port 9200 of the ECS security group has been assigned external network access permissions, and an EIP has been bound to the ECS.
- If there are multiple servers in a VPC, you do not need to associate EIPs to other servers as long as one server is associated with an EIP. Switch to the node where Logstash is deployed from the node with which the EIP is associated.
- If a private line or VPN is available, you do not need to associate an EIP.
-
- - Use PuTTY to log in to the ECS.
For example, data file access_20181029_log is stored in the /tmp/access_log/ path of the ECS, and the data file includes the following data: | All | Heap used for segments | | 18.6403 | MB |
+Importing Data When Logstash Is Deployed on an ECSFigure 2 illustrates how data is imported when Logstash is deployed on an ECS that resides in the same VPC as the cluster to which data is to be imported.
+ Figure 2 Importing data when Logstash is deployed on an ECS
+ - Ensure that the ECS where Logstash is deployed and the cluster to which data is to be imported reside in the same VPC, port 9200 of the ECS security group has been assigned external network access permissions, and an EIP has been bound to the ECS.
- If there are multiple servers in a VPC, you only need to associate an EIP with one of these servers. Switch to the node where Logstash is deployed from the node with which the EIP is associated.
- If a private line or VPN is available, there is no need for an EIP.
+ - Use PuTTY to log in to the ECS.
For example, data file access_20181029_log is stored in the /tmp/access_log/ path of the ECS, and the data file includes the following data: | All | Heap used for segments | | 18.6403 | MB |
| All | Heap used for doc values | | 0.119289 | MB |
| All | Heap used for terms | | 17.4095 | MB |
| All | Heap used for norms | | 0.0767822 | MB |
@@ -116,29 +106,29 @@ output{
| All | Max Throughput | index-append | 67745.6 | docs/s |
| All | 50th percentile latency | index-append | 510.261 | ms |
- - Run the following command to create configuration file logstash-simple.conf in the Logstash installation directory:
cd /<Logstash installation directory>/
+ - Run the following command to create configuration file logstash-simple.conf in the Logstash installation directory:
cd /<Logstash installation directory>/
vi logstash-simple.conf
-Input the following content in logstash-simple.conf: input {
-Location of data
+Enter the following content in logstash-simple.conf: input {
+Location of data
}
filter {
-Related data processing
+Related data processing
}
output {
elasticsearch{
- hosts => "<Private network address and port number of the node>"}
- (Optional) If communication encryption has been enabled on the cluster, you need to add the following configuration:
+ hosts => "<Private network address and port number of the node>"}
+ (Optional) If communication encryption has been enabled for the cluster, you need to add the following configuration:
ssl => true
ssl_certificate_verification => false
}
- - The input parameter indicates the data source. Set this parameter based on the actual conditions. For details about the input parameter and parameter usage, visit the following website: https://www.elastic.co/guide/en/logstash/current/input-plugins.html
- The filter parameter specifies the mode in which data is processed. For example, extract and process logs to convert unstructured information into structured information. For details about the filter parameter and parameter usage, visit the following website: https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
- The output parameter indicates the destination address of the data. For details about the output parameter and parameter usage, visit https://www.elastic.co/guide/en/logstash/current/output-plugins.html. <private network address and port number of a node> refers to the private network address and port number of a node in the cluster.
If the cluster contains multiple nodes, you are advised to replace the value of <Private network address and port number of a node> with the private network addresses and port numbers of all nodes in the cluster to prevent node faults. Use commas (,) to separate the nodes' private network addresses and port numbers. The following is an example:
-hosts => ["192.168.0.81:9200","192.168.0.24:9200"]
-If the cluster contains only one node, the format is as follows:
-hosts => "192.168.0.81:9200"
+- The input parameter indicates the data source. Set this parameter based on the actual conditions. For details about the input parameter and parameter usage, visit the following website: https://www.elastic.co/guide/en/logstash/current/input-plugins.html
- The filter parameter specifies the mode in which data is processed. For example, extract and process logs to convert unstructured information into structured information. For details about the filter parameter and parameter usage, visit the following website: https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
- The output parameter indicates the destination address of the data. For details about the output parameter and parameter usage, visit https://www.elastic.co/guide/en/logstash/current/output-plugins.html. <private network address and port number of a node> refers to the private network address and port number of a node in the cluster.
If the cluster contains multiple nodes, you are advised to replace the value of <Private network address and port number of a node> with the private network addresses and port numbers of all nodes in the cluster to prevent node faults. Use commas (,) to separate the nodes' private network addresses and port numbers. The following is an example:
+hosts => ["192.168.0.81:9200","192.168.0.24:9200"]
+If the cluster contains only one node, the format is as follows:
+hosts => "192.168.0.81:9200"
-Consider the data files in the /tmp/access_log/ path mentioned in 2 as an example. Assume that data import starts from data in the first row of the data file, the filtering condition is left unspecified (indicating no data processing operations are performed), the private network address and port number of the node in the cluster where data is to be imported are 192.168.0.81 and 9200, respectively, and the name of the target index is myindex. Edit the configuration file as follows, and enter :wq to save the configuration file and exit.
-input {
+Consider the data files in the /tmp/access_log/ path mentioned in 2 as an example. Assume that data import starts from data in the first row of the data file, the filtering condition is left unspecified (indicating no data processing operations are performed), the private network address and port number of the node in the cluster where data is to be imported are 192.168.0.81 and 9200, respectively, and the name of the target index is myindex. Edit the configuration file as follows, and enter :wq to save the configuration file and exit.
+input {
file{
path => "/tmp/access_log/*"
start_position => "beginning"
@@ -153,9 +143,8 @@ output {
}
}
-If the cluster has the security mode enabled, you need to download a certificate first.
-- Download a certificate on the Basic Information page of the cluster.
Figure 4 Downloading a certificate
- - Store the certificate to the server where Logstash is deployed.
- Modify the logstash-simple.conf configuration file.
Consider the data files in the /tmp/access_log/ path mentioned in step 2 as an example. Assume that data import starts from data in the first row of the data file, the filtering condition is left unspecified (indicating no data processing operations are performed), the public IP address and port number of the jump host are 192.168.0.227 and 9200, respectively. The name of the index for importing data is myindex, and the certificate is stored in /logstash/logstash6.8/config/CloudSearchService.cer. Edit the configuration file as follows, and enter :wq to save the configuration file and exit. input{
+If the cluster has the security mode enabled, you need to download a certificate first. - Obtaining the Security Certificate.
- Store the downloaded certificate to the server where Logstash is deployed.
- Modify the logstash-simple.conf configuration file.
Consider the data files in the /tmp/access_log/ path mentioned in step 2 as an example. Assume that data import starts from data in the first row of the data file, the filtering condition is left unspecified (indicating no data processing operations are performed), the public IP address and port number of the jump host are 192.168.0.227 and 9200, respectively. The name of the index for importing data is myindex, and the certificate is stored in /logstash/config/CloudSearchService.cer. Edit the configuration file as follows, and enter :wq to save the configuration file and exit.
+input{
file {
path => "/tmp/access_log/*"
start_position => "beginning"
@@ -167,28 +156,30 @@ output{
elasticsearch{
hosts => ["https://192.168.0.227:9200"]
index => "myindex"
- user => "admin"
- password => "******"
- cacert => "/logstash/logstash6.8/config/CloudSearchService.cer"
+ user => "admin" # Username for accessing the security-mode cluster
+ password => "******" # Password for accessing the security-mode cluster
+ cacert => "/logstash/config/CloudSearchService.cer"
manager_template => false
ilm_enabled => false
ssl => true
ssl_certificate_verification => false
}
}
- password: password for logging in to the cluster
-
-
-- Run the following command to import the ECS data collected by Logstash to the cluster:
./bin/logstash -f logstash-simple.conf
- - Log in to the CSS management console.
- In the navigation pane on the left, expand Clusters and select a cluster type. A cluster list is displayed.
- From the cluster list, locate the row that contains the cluster to which you want to import data and click Access Kibana in the Operation column.
- In the Kibana navigation pane on the left, choose Dev Tools.
- On the Console page of Kibana, search for the imported data.
On the Console page of Kibana, run the following command to search for data. View the search results. If the searched data is consistent with the imported data, the data has been imported successfully.
-GET myindex/_search
+
+ - Run the following command to import the ECS data collected by Logstash to the cluster:
./bin/logstash -f logstash-simple.conf
+ - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, find the target cluster, and click Kibana in the Operation column to log in to the Kibana console.
- In the left navigation pane, choose Dev Tools.
- On the Kibana console, search for the ingested data.
Run the following command to search for data. View the search results. If the searched data is consistent with the imported data, the data has been imported successfully.
+GET myindex/_search
+
+
+Obtaining the Security CertificateTo access a security-mode Elasticsearch cluster that uses HTTPS, a security certificate must be loaded. To obtain this security certificate (CloudSearchService.cer), follow these steps:
+ - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, click the name of the target cluster. The cluster information page is displayed.
- Click the Overview tab. In the Configuration area, click Download Certificate next to HTTPS Access.
Figure 3 Downloading a security certificate
diff --git a/docs/css/umn/css_01_0049.html b/docs/css/umn/css_01_0049.html
new file mode 100644
index 000000000..9a82dbc79
--- /dev/null
+++ b/docs/css/umn/css_01_0049.html
@@ -0,0 +1,416 @@
+
+
+Configuring Read/Write Splitting Between Two OpenSearch Clusters
+As business expands, and data volumes and access requests grow exponentially, a monolithic architecture where a single cluster handles both write and query requests faces typical challenges like resource contention and overload. To address these challenges, CSS introduces read/write splitting between OpenSearch clusters.
+ OpenSearch read/write splitting works by having leader and follower clusters collaborate together. The feature delivers the following benefits:
+ - Decoupled read and write loads: The leader cluster ensures data ingestion performance, while the follower clusters deliver scalable, high-concurrency query performance. There is no more resource contention, and peak loads are reduced.
- Flexible scalability: The write and query clusters can be scaled horizontally and independently. Cross-region cluster deployment is supported.
- Data consistency guarantee: Data can be synchronized in real time, with low latency. Incremental synchronization is also supported.
+ How the Feature WorksFigure 1 Read/write splitting
+ How read/write splitting between OpenSearch clusters works:
+ - Data writes: Users send write requests, and the leader cluster handles these requests.
- Data synchronization.
The leader synchronizes data changes to the follower through a REST API. Two synchronization methods are supported: - Exact match: synchronization of a specified index
- Match by wildcard: batch synchronization of indexes matching a wildcard expression
+
+ - Query processing: Users send query requests. The follower cluster handles these requests and returns the results.
+ Figure 2 illustrates how read/write splitting works.
+ Figure 2 How read/write splitting works
+ - Read and write split when both clusters are available (left): The leader handles writes, and the follower handles queries.
- Leader-to-follower switchover when the leader fails (right): If the leader becomes unavailable, the follower automatically upgrades to leader to ensure service continuity. For details, see Switching the Roles of the Leader and Follower Clusters.
+
+ Constraints- Only OpenSearch 2.19.0 clusters support read/write splitting.
- The leader and follower clusters must use the same software version.
+
+ PrerequisitesTwo clusters of the same version have been created. One functions as the leader cluster, and the other the follower cluster. The follower cluster must be able to access the REST API (default port: 9200) of the leader cluster.
+
+ Logging In to OpenSearch DashboardsLog in to OpenSearch Dashboards and go to the command execution page. OpenSearch clusters support multiple access methods. This topic uses OpenSearch Dashboards as an example to describe the operation procedures.
+ - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > OpenSearch.
- In the cluster list, find the target cluster, and click Dashboards in the Operation column to log in to OpenSearch Dashboards.
- In the left navigation pane, choose Dev Tools.
The left part of the console is the command input box, and the triangle icon in its upper-right corner is the execution button. The right part shows the execution result.
+
+
+ Connecting the Leader and Follower Clusters- Run the following command to configure information about the leader cluster in the follower cluster:
PUT /_cluster/settings
+{
+ "persistent" : {
+ "cluster" : {
+ "remote.rest" : {
+ "leader1" : {
+ "seeds" : [
+ "http://10.0.0.1:9200",
+ "http://10.0.0.2:9200",
+ "http://10.0.0.3:9200"
+ ] ,
+ "username": "elastic",
+ "password": "*****"
+ }
+ }
+ }
+ }
+}
+
+Table 1 Request body parametersParameter
+ |
+Description
+ |
+
+
+leader1
+ |
+Name of the leader cluster configuration task, which is user-defined and will be used for configuring read/write splitting later.
+ |
+
+seeds
+ |
+Address for accessing the leader cluster. When HTTPS is enabled for the cluster, the URL schema must use HTTPS.
+ |
+
+username
+ |
+Username of the leader cluster. This parameter is required only when security mode is enabled for the leader cluster.
+ |
+
+password
+ |
+Password of the leader cluster. This parameter is required only when security mode is enabled for the leader cluster.
+ |
+
+
+
+
+Example response:
+{
+ "acknowledged" : true, //Whether the operation is successful
+ "persistent" : {
+ "cluster" : {
+ "remote" : {
+ "rest" : {
+ "leader1" : {
+ "seeds" : [
+ "http://10.0.0.1:9200",
+ "http://10.0.0.2:9200",
+ "http://10.0.0.3:9200"
+ ] ,
+ "username": "elastic",
+ "password": "*****"
+ }
+ }
+ }
+ }
+ },
+ "transient" : { }
+}
+ - After the configuration is complete, run the following command in the follower cluster to check the connection between the follower and leader clusters:
GET _remote/rest/info
+Example response:
+{
+ "leader1" : {
+ "connected" : true //The two clusters are connected.
+ }
+}
+
+
+ Index SynchronizationThere are two ways to synchronize indexes: synchronization of a specified index and synchronization of indexes matching a wildcard expression.
+ During synchronization, indexes in the follower cluster become read-only. The synchronization is performed periodically. The default synchronization interval is 30 seconds. For how to change it, see Changing the Synchronization Interval.
+ The following index configuration items cannot be modified: number_of_shards, version.created, uuid, creation_date, and soft_deletes.enabled.
+
+ Method 1: synchronizing a specified index
+ - Run the following command in the follower cluster to synchronize a single index from the leader cluster to the follower cluster without modifying index settings:
PUT start_remote_sync
+{
+ "remote_cluster": "leader1",
+ "remote_index": "data1_leader",
+ "local_index": "data1_follower"
+}
+ - Run the following command in the follower cluster to synchronize a single index from the leader cluster to the follower cluster while modifying some of the index settings—enabling synchronization of index settings:
PUT start_remote_sync
+{
+ "remote_cluster": "leader1",
+ "remote_index": "data1_leader",
+ "local_index": "data1_follower",
+ "settings": {
+ "number_of_replicas": 4
+ },
+ "settings_sync_enable": true,
+ "settings_sync_patterns": ["*"],
+ "settings_sync_exclude_patterns": ["index.routing.allocation.*"],
+ "alias_sync_enable": true,
+ "state_sync_enable": true
+}
+
+Table 2 Request body parametersParameter
+ |
+Description
+ |
+
+
+remote_cluster
+ |
+Name of the leader cluster configuration task, which was set in Connecting the Leader and Follower Clusters. leader1 was set in our example.
+ |
+
+remote_index
+ |
+Name of the index to be synchronized in the leader cluster
+ |
+
+local_index
+ |
+Index name in the follower cluster
+ |
+
+settings
+ |
+Index settings to be synchronized
+ |
+
+settings_sync_enable
+ |
+Whether to enable synchronization of index settings in the leader cluster. The default value is false.
+ |
+
+settings_sync_patterns
+ |
+Prefix of leader cluster index settings to be synchronized. The default value is *. This parameter takes effect when settings_sync_enable is set to true. The index settings configured in settings will not be synchronized.
+ |
+
+settings_sync_exclude_patterns
+ |
+Prefix of leader cluster index settings not to be synchronized. The default value is empty. This parameter is valid only when settings_sync_enable is set to true.
+ |
+
+alias_sync_enable
+ |
+Whether to enable index alias synchronization in the leader cluster. The default value is false.
+ |
+
+state_sync_enable
+ |
+Whether to enable index status synchronization in the leader cluster. The default value is false.
+ |
+
+
+
+
+
+ Method 2: synchronizing all indexes matching a wildcard expression
+ - Run the following command in the follower cluster to create a pattern-matching index synchronization policy, which synchronizes matched indexes from the leader cluster to the follower cluster:
PUT auto_sync/pattern/${PATTERN}
+{
+ "remote_cluster": "leader1",
+ "remote_index_patterns": "log*",
+ "local_index_pattern": "{{remote_index}}-sync",
+ "apply_exist_index": true
+}
+ - Run the following command in the follower cluster to create a pattern-matching index synchronization policy, which synchronizes matched indexes from the leader cluster to the follower cluster, with some of the index settings modified—enabling synchronization of index settings:
PUT auto_sync/pattern/${PATTERN}
+{
+ "remote_cluster": "leader1",
+ "remote_index_patterns": "log*",
+ "local_index_pattern": "{{remote_index}}-sync",
+ "apply_exist_index": true,
+ "settings": {
+ "number_of_replicas": 4
+ },
+ "settings_sync_enable": true,
+ "settings_sync_patterns": ["*"],
+ "settings_sync_exclude_patterns": ["index.routing.allocation.*"],
+ "alias_sync_enable": true,
+ "state_sync_enable": true
+}
+
+Table 3 Request body parametersParameter
+ |
+Description
+ |
+
+
+PATTERN
+ |
+Name of the pattern for index matching.
+ |
+
+remote_cluster
+ |
+Name of the leader cluster configuration task, which was set in Connecting the Leader and Follower Clusters. In our example, leader1 is used.
+ |
+
+remote_index_patterns
+ |
+Pattern for matching indexes to be synchronized in the leader cluster. The wildcard (*) is supported.
+ |
+
+local_index_pattern
+ |
+Index pattern in the follower cluster. The index template can be replaced. For example, if this parameter is set to {{remote_index}}-sync, the index log1 changes to log1-sync after synchronization.
+If leader/follower switchover is likely to happen, set this parameter to {{remote_index}} to ensure that the leader and follower clusters use identical index names.
+ |
+
+apply_exist_index
+ |
+Whether to synchronize existing indexes in the leader cluster. The default value is true.
+ |
+
+settings
+ |
+Index settings to be synchronized
+ |
+
+settings_sync_enable
+ |
+Whether to enable synchronization of index settings in the leader cluster. The default value is false.
+ |
+
+settings_sync_patterns
+ |
+Prefix of leader cluster index settings to be synchronized. The default value is *. This parameter takes effect when settings_sync_enable is set to true. The index settings configured in settings will not be synchronized.
+ |
+
+settings_sync_exclude_patterns
+ |
+Prefix of leader cluster index settings not to be synchronized. The default value is empty. This parameter is valid only when settings_sync_enable is set to true.
+ |
+
+alias_sync_enable
+ |
+Whether to enable index alias synchronization in the leader cluster. The default value is false.
+ |
+
+state_sync_enable
+ |
+Whether to enable index status synchronization in the leader cluster. The default value is false.
+ |
+
+
+
+
+
+
+ Stopping Index SynchronizationRun the following command in the follower cluster to stop synchronization tasks for specified indexes. Subsequent changes to the indexes in the leader cluster will not be synchronized to the follower cluster. The read-only state of the indexes in the follower cluster will be cancelled, so that new data can be written into them.
+ PUT log*/stop_remote_sync
+ In this command, log* indicates the index name. You can specify multiple index names (separated by commas) or use a wildcard. In this example, synchronization tasks for all indexes that start with log are stopped.
+
+ Querying and Deleting Created Patterns- Run the following command in the follower cluster to query created patterns:
+
The following is an example of the response:
+{
+ "patterns" : [
+ {
+ "name" : "pattern1",
+ "pattern" : {
+ "remote_cluster" : "leader",
+ "remote_index_patterns" : [
+ "log*"
+ ],
+ "local_index_pattern" : "{{remote_index}}-sync",
+ "settings" : { }
+ }
+ }
+ ]
+}
+ - Run the following command in the follower cluster to delete a specified pattern by name:
DELETE auto_sync/pattern/{PATTERN}
+
+
+ Enabling Forcible SynchronizationBy default, the plug-in determines whether to synchronize metadata based on whether the number of documents in the index of the leader cluster changes. If the leader cluster only updates documents and the number of documents remains unchanged, the plug-in does not synchronize the updates to the follower cluster. The configuration can be modified. After forcible synchronization is enabled, the index metadata of the leader cluster is forcibly synchronized to the follower cluster in each synchronization cycle.
+ The following is an example of enabling forcible synchronization:
+ PUT _cluster/settings
+{
+ "persistent": {
+ "remote_sync.force_synchronize": true
+ }
+}
+
+ Changing the Synchronization IntervalThe default synchronization interval between the leader and follower clusters is 30 seconds and can be changed.
+ The example request below changes the synchronization interval to 2 seconds:
+ PUT {index_name}/_settings
+{
+ "index.remote_sync.sync_interval": "2s"
+}
+
+ Changing the Synchronization SpeedYou can change the data synchronization speed between the leader and follower clusters by configuring cluster-level settings.
+ The following is an example request: set the block size to 2 MB, the number of blocks to 20, and the maximum synchronization traffic to 100 MB per second.
+ PUT _cluster/settings
+{
+ "persistent": {
+ "remote_sync.chunk_size": "2MB",
+ "remote_sync.max_concurrent_file_chunks": 20,
+ "remote_sync.max_bytes_per_sec": "100MB"
+ }
+}
+
+ Table 4 Request body parametersParameter
+ |
+Description
+ |
+
+
+remote_sync.chunk_size
+ |
+Block size for index synchronization.
+Default value: 1 MB
+Format: a string of characters
+ |
+
+remote_sync.max_concurrent_file_chunks
+ |
+Number of blocks for concurrent index synchronization.
+Default value: 10
+Format: a number
+ |
+
+remote_sync.max_bytes_per_sec
+ |
+Maximum data synchronization traffic per second.
+Default value: 40 MB
+Format: a string of characters
+ |
+
+
+
+
+
+ Querying Index Synchronization StatusObtain the auto synchronization status of a specified index.
+ An example request is as follows:
+ GET {index_name}/sync_stats
+ The following is an example of the response:
+ {
+ "indices" : {
+ "data1_follower" : {
+ "shards" : {
+ "0" : [
+ {
+ "primary" : false, // Whether it is a primary shard
+ "total_synced_times" : 27, // Total synchronization times
+ "total_empty_times" : 25, // Total number of times when no data is synchronized between the leader and follower clusters because they have identical shards and data
+ "total_synced_files" : 4, // Number of synchronized files
+ "total_synced_bytes" : 3580, // Total size of synchronized files
+ "total_paused_nanos" : 0, //Duration of synchronization pauses due to traffic throttling
+ "total_paused_times" : 0, //Number of synchronization pauses due to traffic throttling
+ "current" : {
+ "files_count" : 0, //Number of files that are being synchronized
+ "finished_files_count" : 0, //Number of files that have been synchronized
+ "bytes" : 0, //Size of files that are being synchronized
+ "finished_bytes" : 0 //Size of files that have been synchronized
+ }
+ },
+ {
+ "primary" : true, // Whether it is a primary shard
+ "total_synced_times" : 28, // Total synchronization times
+ "total_empty_times" : 26, // Total number of times when no data is synchronized between the leader and follower clusters because they have identical shards and data
+ "total_synced_files": 20, // Number of synchronized files
+ "total_synced_bytes": 17547, // Total size of synchronized files
+ "total_paused_nanos" : 0, //Duration of synchronization pauses due to traffic throttling
+ "total_paused_times" : 0, //Number of synchronization pauses due to traffic throttling
+ "current" : {
+ "files_count" : 0, //Number of files that are being synchronized
+ "finished_files_count" : 0, //Number of files that have been synchronized
+ "bytes" : 0, //Size of files that are being synchronized
+ "finished_bytes" : 0 //Size of files that have been synchronized
+ }
+ }
+ ]
+ }
+ }
+ }
+}
+
+ Switching the Roles of the Leader and Follower ClustersWhen the leader cluster becomes faulty, perform a leader/follower switchover to have the follower cluster take over services. The steps are as follows:
+ Leader/follower switchover won't work unless the leader and follower clusters use identical index names.
+
+ - Determine the index synchronization method between the leader and follower clusters. Check whether pattern-matching index synchronization policies have been configured in the follower cluster. For the command to use, see Querying and Deleting Created Patterns.
- If there are no such policies, synchronization is performed for specified indexes between the leader and follower clusters. In this case, go to 3.
- If there are such policies, index synchronization between the leader and follower clusters is based on index patterns. In this case, go to 2.
+ - Delete pattern-matching index synchronization policies in the follower cluster. For the command to use, see Querying and Deleting Created Patterns.
- Perform Stopping Index Synchronization in the follower cluster. Then redirect read and write traffic to it. If the leader and follower clusters synchronize indexes based on index patterns, use a wildcard to match indexes when running the command that stops index synchronization.
- After the leader cluster recovers, configure information about the follower cluster in the leader cluster, and connect the leader and follower clusters again. For details, see Connecting the Leader and Follower Clusters.
- Under the leader cluster, perform Index Synchronization to synchronize data from the follower cluster to the leader cluster, and then perform a leader/follower switchover to switch back.
+
+
+
+
diff --git a/docs/css/umn/css_01_0050.html b/docs/css/umn/css_01_0050.html
index d76162740..ef4f63d65 100644
--- a/docs/css/umn/css_01_0050.html
+++ b/docs/css/umn/css_01_0050.html
@@ -1,542 +1,541 @@
-
+
Viewing Elasticsearch Cluster Audit Logs
-Cloud Trace Service (CTS) is available on the public cloud platform. With CTS, you can record operations associated with CSS for later query, audit, and backtrack operations.
- PrerequisitesCTS has been enabled. For details, see Enabling CTS.
+ Cloud Trace Service (CTS) is available on the public cloud platform. With CTS, you can record operations associated with CSS for later query, audit, and backtrack operations.
+ PrerequisitesCTS has been enabled. For details, see Enabling CTS.
- Key Operations Recorded by CTS
- Table 1 Key operations recorded by CTSOperation
+Key Operations Recorded by CTS
+ Table 1 Key operations recorded by CTSOperation
|
-Resource Type
+ | Resource Type
|
-Event Name
+ | Event Name
|
-Creating a cluster
+ | Creating a cluster
|
-cluster
+ | cluster
|
-createCluster
+ | createCluster
|
-Querying cluster details
+ | Querying cluster details
|
-cluster
+ | cluster
|
-showClusterDetail
+ | showClusterDetail
|
-Deleting a cluster
+ | Deleting a cluster
|
-cluster
+ | cluster
|
-deleteCluster
+ | deleteCluster
|
-Changing a cluster name
+ | Changing a cluster name
|
-cluster
+ | cluster
|
-updateClusterName
+ | updateClusterName
|
-Querying the cluster list
+ | Querying the cluster list
|
-cluster
+ | cluster
|
-listClusters
+ | listClusters
|
-Changing the password of a cluster
+ | Changing the password of a cluster
|
-cluster
+ | cluster
|
-resetPassword
+ | resetPassword
|
-Restarting a cluster
+ | Restarting a cluster
|
-cluster
+ | cluster
|
-restartCluster
+ | restartCluster
|
-Expanding cluster capacity
+ | Expanding cluster capacity
|
-cluster
+ | cluster
|
-updateExtendCluster
+ | updateExtendCluster
|
-Adding instances and expanding storage
+ | Adding instances and expanding storage
|
-cluster
+ | cluster
|
-updateExtendInstanceStorage
+ | updateExtendInstanceStorage
|
-Changing specifications
+ | Changing specifications
|
-cluster
+ | cluster
|
-updateFlavor
+ | updateFlavor
|
-Obtaining the instance specifications list
+ | Obtaining the instance specifications list
|
-cluster
+ | cluster
|
-listFlavors
+ | listFlavors
|
-Removing specified nodes
+ | Removing specified nodes
|
-cluster
+ | cluster
|
-updateShrinkNodes
+ | updateShrinkNodes
|
-Changing the specifications of a specified node type
+ | Changing the specifications of a specified node type
|
-cluster
+ | cluster
|
-updateFlavorByType
+ | updateFlavorByType
|
-Scaling in nodes of a specific type
+ | Scaling in nodes of a specific type
|
-cluster
+ | cluster
|
-updateShrinkCluster
+ | updateShrinkCluster
|
-Downloading a security certificate
+ | Downloading a security certificate
|
-cluster
+ | cluster
|
-downloadCert
+ | downloadCert
|
-Replacing a node
+ | Replacing a node
|
-cluster
+ | cluster
|
-updateInstance
+ | updateInstance
|
-Changing the security mode
+ | Changing the security mode
|
-cluster
+ | cluster
|
-changeMode
+ | changeMode
|
-Adding a dedicated Master or Client node
+ | Adding a dedicated Master or Client node
|
-cluster
+ | cluster
|
-addIndependentNode
+ | addIndependentNode
|
-Upgrading the cluster kernel
+ | Upgrading the cluster kernel
|
-cluster
+ | cluster
|
-upgradeCore
+ | upgradeCore
|
-Obtaining a target image ID
+ | Obtaining a target image ID
|
-cluster
+ | cluster
|
-listImages
+ | listImages
|
-Obtaining upgrade details
+ | Obtaining upgrade details
|
-cluster
+ | cluster
|
-upgradeDetail
+ | upgradeDetail
|
-Retrying a failed upgrade task
+ | Retrying a failed upgrade task
|
-cluster
+ | cluster
|
-retryUpgradeTask
+ | retryUpgradeTask
|
-Changing the security group
+ | Changing the security group
|
-cluster
+ | cluster
|
-changeSecurityGroup
+ | changeSecurityGroup
|
-Creating a V2 cluster
+ | Creating a V2 cluster
|
-cluster
+ | cluster
|
-createClusterV2
+ | createClusterV2
|
-Restarting a V2 cluster
+ | Restarting a V2 cluster
|
-cluster
+ | cluster
|
-restartCluster
+ | restartCluster
|
-Rolling restart
+ | Rolling restart
|
-cluster
+ | cluster
|
-rollingRestart
+ | rollingRestart
|
-Enabling Kibana public access
+ | Enabling Kibana public access
|
-cluster
+ | cluster
|
-startKibanaPublic
+ | startKibanaPublic
|
-Disabling Kibana public access
+ | Disabling Kibana public access
|
-cluster
+ | cluster
|
-updateCloseKibana
+ | updateCloseKibana
|
-Modifying the Kibana public network bandwidth
+ | Modifying the Kibana public network bandwidth
|
-cluster
+ | cluster
|
-updateAlterKibana
+ | updateAlterKibana
|
-Modifying Kibana public network access control
+ | Modifying Kibana public network access control
|
-cluster
+ | cluster
|
-updatePublicKibanaWhitelist
+ | updatePublicKibanaWhitelist
|
-Disabling Kibana public network access control
+ | Disabling Kibana public network access control
|
-cluster
+ | cluster
|
-stopPublicKibanaWhitelist
+ | stopPublicKibanaWhitelist
|
-Enabling logging
+ | Enabling logging
|
-cluster
+ | cluster
|
-startLogs
+ | startLogs
|
-Disabling logging
+ | Disabling logging
|
-cluster
+ | cluster
|
-stopLogs
+ | stopLogs
|
-Querying the job list
+ | Querying the job list
|
-cluster
+ | cluster
|
-listLogsJob
+ | listLogsJob
|
-Querying basic log configurations
+ | Querying basic log configurations
|
-cluster
+ | cluster
|
-showGetLogSetting
+ | showGetLogSetting
|
-Modifying basic log configurations
+ | Modifying basic log configurations
|
-cluster
+ | cluster
|
-updateLogSetting
+ | updateLogSetting
|
-Enabling automatic log backup
+ | Enabling automatic log backup
|
-cluster
+ | cluster
|
-startLogAutoBackupPolicy
+ | startLogAutoBackupPolicy
|
-Disabling automatic log backup
+ | Disabling automatic log backup
|
-cluster
+ | cluster
|
-stopLogAutoBackupPolicy
+ | stopLogAutoBackupPolicy
|
-Backing up logs
+ | Backing up logs
|
-cluster
+ | cluster
|
-createLogBackup
+ | createLogBackup
|
-Querying logs
+ | Querying logs
|
-cluster
+ | cluster
|
-showLogBackup
+ | showLogBackup
|
-Enabling public network access
+ | Enabling public network access
|
-cluster
+ | cluster
|
-createBindPublic
+ | createBindPublic
|
-Disabling public access
+ | Disabling public access
|
-cluster
+ | cluster
|
-updateUnbindPublic
+ | updateUnbindPublic
|
-Modifying public network access bandwidth
+ | Modifying public network access bandwidth
|
-cluster
+ | cluster
|
-updatePublicBandWidth
+ | updatePublicBandWidth
|
-Enabling the public network access whitelist
+ | Enabling the public network access whitelist
|
-cluster
+ | cluster
|
-startPublicWhitelist
+ | startPublicWhitelist
|
-Disabling the public network access whitelist
+ | Disabling the public network access whitelist
|
-cluster
+ | cluster
|
-stopPublicWhitelist
+ | stopPublicWhitelist
|
-Automatically setting basic configurations of a cluster snapshot
+ | Automatically setting basic configurations of a cluster snapshot
|
-cluster
+ | cluster
|
-startAutoSetting
+ | startAutoSetting
|
-Modifying basic configurations of a cluster snapshot
+ | Modifying basic configurations of a cluster snapshot
|
-cluster
+ | cluster
|
-updateSnapshotSetting
+ | updateSnapshotSetting
|
-Manually creating a snapshot
+ | Manually creating a snapshot
|
-snapshot
+ | snapshot
|
-createSnapshot
+ | createSnapshot
|
-Restoring a snapshot
+ | Restoring a snapshot
|
-snapshot
+ | snapshot
|
-restoreSnapshot
+ | restoreSnapshot
|
-Deleting a specified snapshot
+ | Deleting a specified snapshot
|
-snapshot
+ | snapshot
|
-deleteSnapshot
+ | deleteSnapshot
|
-Setting an automatic snapshot creation policy
+ | Setting an automatic snapshot creation policy
|
-cluster
+ | cluster
|
-createAutoCreatePolicy
+ | createAutoCreatePolicy
|
-Querying automatic snapshot creation policies
+ | Querying automatic snapshot creation policies
|
-cluster
+ | cluster
|
-showAutoCreatePolicy
+ | showAutoCreatePolicy
|
-Querying the snapshot list
+ | Querying the snapshot list
|
-cluster
+ | cluster
|
-listSnapshots
+ | listSnapshots
|
-Disabling snapshot function
+ | Disabling snapshot function
|
-cluster
+ | cluster
|
-stopSnapshot
+ | stopSnapshot
|
-Enabling automatic snapshot creation
+ | Enabling automatic snapshot creation
|
-cluster
+ | cluster
|
-startAutoCreateSnapshots
+ | startAutoCreateSnapshots
|
-Disabling automatic snapshot creation
+ | Disabling automatic snapshot creation
|
-cluster
+ | cluster
|
-stopAutoCreateSnapshots
+ | stopAutoCreateSnapshots
|
-Enabling VPC Endpoint Service
+ | Enabling VPC Endpoint Service
|
-cluster
+ | cluster
|
-startVpecp
+ | startVpecp
|
-Disabling VPC Endpoint Service
+ | Disabling VPC Endpoint Service
|
-cluster
+ | cluster
|
-stopVpecp
+ | stopVpecp
|
-Obtaining a VPCEP connection
+ | Obtaining a VPCEP connection
|
-cluster
+ | cluster
|
-showVpcepConnection
+ | showVpcepConnection
|
-Updating a VPCEP connection
+ | Updating a VPCEP connection
|
-cluster
+ | cluster
|
-updateVpcepConnection
+ | updateVpcepConnection
|
-Modifying the VPCEP whitelist
+ | Modifying the VPCEP whitelist
|
-cluster
+ | cluster
|
-updateVpcepWhitelist
+ | updateVpcepWhitelist
|
-Modifying parameter settings
+ | Modifying parameter settings
|
-cluster
+ | cluster
|
-listYmls
+ | listYmls
|
-Obtaining the task list of parameter settings
+ | Obtaining the task list of parameter settings
|
-cluster
+ | cluster
|
-listYmlsJob
+ | listYmlsJob
|
-Obtaining the parameter settings list
+ | Obtaining the parameter settings list
|
-cluster
+ | cluster
|
-updateYmls
+ | updateYmls
|
-Querying ELB V3 load balancers supported by a cluster
+ | Querying ELB V3 load balancers supported by a cluster
|
-cluster
+ | cluster
|
-listElbs
+ | listElbs
|
-Enabling or disabling the Elasticsearch Load Balancer
+ | Enabling or disabling the Elasticsearch Load Balancer
|
-cluster
+ | cluster
|
-enableOrDisableElb
+ | enableOrDisableElb
|
-Configuring an Elasticsearch listener
+ | Configuring an Elasticsearch listener
|
-cluster
+ | cluster
|
-createElbListener
+ | createElbListener
|
-Obtaining information about an Elasticsearch ELB
+ | Obtaining information about an Elasticsearch ELB
|
-cluster
+ | cluster
|
-showElbDetail
+ | showElbDetail
|
-Updating an Elasticsearch listener
+ | Updating an Elasticsearch listener
|
-cluster
+ | cluster
|
-updateEsListener
+ | updateEsListener
|
-Querying the certificate list
+ | Querying the certificate list
|
-cluster
+ | cluster
|
-listElbCerts
+ | listElbCerts
|
-Obtaining the intelligent O&M task list and details
+ | Obtaining the intelligent O&M task list and details
|
-cluster
+ | cluster
|
-listAiOps
+ | listAiOps
|
-Creating a cluster detection task
+ | Creating a cluster detection task
|
-cluster
+ | cluster
|
-createAiOps
+ | createAiOps
|
-Deleting a detection task record
+ | Deleting a detection task record
|
-cluster
+ | cluster
|
-deleteAiOps
+ | deleteAiOps
|
-Obtaining SMN topics available for intelligent O&M alarms
+ | Obtaining SMN topics available for intelligent O&M alarms
|
-cluster
+ | cluster
|
-listSmnTopics
+ | listSmnTopics
|
-Querying Real-Time TracesAfter a management tracker is created on the CTS console, the system starts recording operations performed on cloud service resources. After a data tracker is created, the system starts recording operations performed on data in OBS buckets. CTS retains operation records generated in the latest seven days.
-
+ Querying Real-Time TracesAfter a management tracker is created on the CTS console, the system starts recording operations performed on cloud service resources. After a data tracker is created, the system starts recording operations performed on data in OBS buckets. CTS retains operation records generated in the latest seven days.
diff --git a/docs/css/umn/css_01_0051.html b/docs/css/umn/css_01_0051.html
new file mode 100644
index 000000000..5df7931c3
--- /dev/null
+++ b/docs/css/umn/css_01_0051.html
@@ -0,0 +1,546 @@
+
+
+ Viewing OpenSearch Cluster Audit Logs
+ Cloud Trace Service (CTS) is available on the public cloud platform. CTS can record operations associated with CSS for subsequent query, auditing, and backtracking purposes.
+ PrerequisitesCTS has been enabled. For details, see Enabling CTS.
+
+ Key Operations Recorded by CTS
+ Table 1 Key operations recorded by CTSOperation
+ |
+Resource Type
+ |
+Event Name
+ |
+
+
+Creating a cluster
+ |
+cluster
+ |
+createCluster
+ |
+
+Querying cluster details
+ |
+cluster
+ |
+showClusterDetail
+ |
+
+Deleting a cluster
+ |
+cluster
+ |
+deleteCluster
+ |
+
+Renaming a cluster
+ |
+cluster
+ |
+updateClusterName
+ |
+
+Querying the cluster list
+ |
+cluster
+ |
+listClusters
+ |
+
+Changing the password of a cluster
+ |
+cluster
+ |
+resetPassword
+ |
+
+Restarting a cluster
+ |
+cluster
+ |
+restartCluster
+ |
+
+Expanding cluster capacity
+ |
+cluster
+ |
+updateExtendCluster
+ |
+
+Adding nodes and expanding storage
+ |
+cluster
+ |
+updateExtendInstanceStorage
+ |
+
+Changing the node specifications
+ |
+cluster
+ |
+updateFlavor
+ |
+
+Obtaining the node specifications list
+ |
+cluster
+ |
+listFlavors
+ |
+
+Removing specified nodes
+ |
+cluster
+ |
+updateShrinkNodes
+ |
+
+Changing the flavor of a specified node type
+ |
+cluster
+ |
+updateFlavorByType
+ |
+
+Removing nodes of a specific type
+ |
+cluster
+ |
+updateShrinkCluster
+ |
+
+Downloading a security certificate
+ |
+cluster
+ |
+downloadCert
+ |
+
+Replacing nodes
+ |
+cluster
+ |
+updateInstance
+ |
+
+Changing the security mode
+ |
+cluster
+ |
+changeMode
+ |
+
+Adding dedicated Master or Client nodes
+ |
+cluster
+ |
+addIndependentNode
+ |
+
+Upgrading the cluster kernel
+ |
+cluster
+ |
+upgradeCore
+ |
+
+Obtaining a target image ID
+ |
+cluster
+ |
+listImages
+ |
+
+Obtaining upgrade details
+ |
+cluster
+ |
+upgradeDetail
+ |
+
+Retrying a failed upgrade task
+ |
+cluster
+ |
+retryUpgradeTask
+ |
+
+Changing the security group
+ |
+cluster
+ |
+changeSecurityGroup
+ |
+
+Creating a cluster (V2)
+ |
+cluster
+ |
+createClusterV2
+ |
+
+Restarting a cluster (V2)
+ |
+cluster
+ |
+restartCluster
+ |
+
+Rolling restart
+ |
+cluster
+ |
+rollingRestart
+ |
+
+Enabling OpenSearch Dashboards public network access
+ |
+cluster
+ |
+startKibanaPublic
+ |
+
+Disabling OpenSearch Dashboards public network access
+ |
+cluster
+ |
+updateCloseKibana
+ |
+
+Modifying the OpenSearch Dashboards public network bandwidth
+ |
+cluster
+ |
+updateAlterKibana
+ |
+
+Modifying OpenSearch Dashboards public network access control
+ |
+cluster
+ |
+updatePublicKibanaWhitelist
+ |
+
+Disabling OpenSearch Dashboards public network access control
+ |
+cluster
+ |
+stopPublicKibanaWhitelist
+ |
+
+Enabling logging
+ |
+cluster
+ |
+startLogs
+ |
+
+Disabling logging
+ |
+cluster
+ |
+stopLogs
+ |
+
+Querying the job list
+ |
+cluster
+ |
+listLogsJob
+ |
+
+Querying basic log configurations
+ |
+cluster
+ |
+showGetLogSetting
+ |
+
+Modifying basic log configurations
+ |
+cluster
+ |
+updateLogSetting
+ |
+
+Enabling automatic log backup
+ |
+cluster
+ |
+startLogAutoBackupPolicy
+ |
+
+Disabling automatic log backup
+ |
+cluster
+ |
+stopLogAutoBackupPolicy
+ |
+
+Backing up logs
+ |
+cluster
+ |
+createLogBackup
+ |
+
+Querying logs
+ |
+cluster
+ |
+showLogBackup
+ |
+
+Enabling public network access
+ |
+cluster
+ |
+createBindPublic
+ |
+
+Disabling public network access
+ |
+cluster
+ |
+updateUnbindPublic
+ |
+
+Modifying public network bandwidth
+ |
+cluster
+ |
+updatePublicBandWidth
+ |
+
+Enabling the public network access whitelist
+ |
+cluster
+ |
+startPublicWhitelist
+ |
+
+Disabling the public network access whitelist
+ |
+cluster
+ |
+stopPublicWhitelist
+ |
+
+Automatically configuring the basic settings of a cluster snapshot
+ |
+cluster
+ |
+startAutoSetting
+ |
+
+Modifying the basic settings of a cluster snapshot
+ |
+cluster
+ |
+updateSnapshotSetting
+ |
+
+Manually creating a snapshot
+ |
+snapshot
+ |
+createSnapshot
+ |
+
+Restoring a snapshot
+ |
+snapshot
+ |
+restoreSnapshot
+ |
+
+Deleting a specified snapshot
+ |
+snapshot
+ |
+deleteSnapshot
+ |
+
+Setting an automatic snapshot creation policy
+ |
+cluster
+ |
+createAutoCreatePolicy
+ |
+
+Querying automatic snapshot creation policies
+ |
+cluster
+ |
+showAutoCreatePolicy
+ |
+
+Querying the snapshot list
+ |
+cluster
+ |
+listSnapshots
+ |
+
+Disabling snapshots
+ |
+cluster
+ |
+stopSnapshot
+ |
+
+Enabling automatic snapshot creation
+ |
+cluster
+ |
+startAutoCreateSnapshots
+ |
+
+Disabling automatic snapshot creation
+ |
+cluster
+ |
+stopAutoCreateSnapshots
+ |
+
+Enabling VPC Endpoint
+ |
+cluster
+ |
+startVpecp
+ |
+
+Disabling VPC Endpoint
+ |
+cluster
+ |
+stopVpecp
+ |
+
+Obtaining a VPCEP connection
+ |
+cluster
+ |
+showVpcepConnection
+ |
+
+Updating a VPCEP connection
+ |
+cluster
+ |
+updateVpcepConnection
+ |
+
+Modifying the VPCEP whitelist
+ |
+cluster
+ |
+updateVpcepWhitelist
+ |
+
+Modifying parameter settings
+ |
+cluster
+ |
+listYmls
+ |
+
+Obtaining the task list of parameter settings
+ |
+cluster
+ |
+listYmlsJob
+ |
+
+Obtaining the parameter settings list
+ |
+cluster
+ |
+updateYmls
+ |
+
+Querying ELB V3 load balancers supported by a cluster
+ |
+cluster
+ |
+listElbs
+ |
+
+Enabling or disabling the Elasticsearch Load Balancer
+ |
+cluster
+ |
+enableOrDisableElb
+ |
+
+Configuring an Elasticsearch listener
+ |
+cluster
+ |
+createElbListener
+ |
+
+Obtaining information about an Elasticsearch ELB
+ |
+cluster
+ |
+showElbDetail
+ |
+
+Updating an Elasticsearch listener
+ |
+cluster
+ |
+updateEsListener
+ |
+
+Querying the certificate list
+ |
+cluster
+ |
+listElbCerts
+ |
+
+Obtaining the intelligent O&M task list and details
+ |
+cluster
+ |
+listAiOps
+ |
+
+Creating a cluster detection task
+ |
+cluster
+ |
+createAiOps
+ |
+
+Deleting a detection task record
+ |
+cluster
+ |
+deleteAiOps
+ |
+
+Obtaining SMN topics available for intelligent O&M alarms
+ |
+cluster
+ |
+listSmnTopics
+ |
+
+
+
+
+
+ Querying Real-Time TracesAfter a management tracker is created on the CTS console, the system starts recording operations performed on cloud service resources. After a data tracker is created, the system starts recording operations performed on data in OBS buckets. CTS retains operation records generated in the latest seven days.
+
+
+
+
diff --git a/docs/css/umn/css_01_0053.html b/docs/css/umn/css_01_0053.html
new file mode 100644
index 000000000..71aee5918
--- /dev/null
+++ b/docs/css/umn/css_01_0053.html
@@ -0,0 +1,270 @@
+
+
+ Configuring Large Query Isolation for an OpenSearch Cluster
+ Large query isolation can be configured to manage queries that have high memory usage or take too long to complete. This helps improve the stability of OpenSearch clusters and prevent out-of-memory (OOM) exceptions.
+ As business grows, your OpenSearch clusters may face mounting query pressure. Some complex queries may occupy excessive node memory, triggering frequent garbage collection or even OOM exceptions, which may compromise cluster performance and stability. Large query isolation enables effective management of memory-intensive, time-consuming query requests, ensuring cluster stability. Large query isolation includes the following: - Isolating large queries: Manages memory-intensive/time-consuming queries separately to avoid impacting other queries.
- Query cancelation based on a heap memory usage threshold: Cancels a large query in the isolation pool when the node heap memory usage reaches a predefined threshold.
- Global query timeout: Automatically cancels tasks when they last longer than a predefined timeout. This timeout applies globally.
+
+ How the Feature Works- Isolation pool management: Large queries are placed in an isolation pool, where they are managed separately from other normal queries. Tasks in the isolation pool may be canceled based on preset memory or duration thresholds.
- Query cancelation policies:
- fair: Selects which query to cancel by considering both memory usage and query duration.
- mem-first: Cancels the query that has the highest memory usage.
- time-first: Cancels the query that has lasted the longest.
+ - Native cancel API: OpenSearch's native cancel API can be used to cancel tasks, ensuring compatibility.
+
+ Constraints- Only OpenSearch 2.19.0 supports large query isolation.
- Large query isolation is enabled by default, whereas global query timeout is disabled by default. If you enable them, the configuration will take effect immediately.
+
+ Logging In to OpenSearch DashboardsLog in to OpenSearch Dashboards and go to the command execution page. OpenSearch clusters support multiple access methods. This topic uses OpenSearch Dashboards as an example to describe the operation procedures.
+ - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > OpenSearch.
- In the cluster list, find the target cluster, and click Dashboards in the Operation column to log in to OpenSearch Dashboards.
- In the left navigation pane, choose Dev Tools.
The left part of the console is the command input box, and the triangle icon in its upper-right corner is the execution button. The right part shows the execution result.
+
+
+ Configuring Large Query IsolationLarge query isolation places large queries in an isolation pool, where they may be canceled based on preset memory or duration thresholds. Large query isolation is enabled by default. Any change takes effect immediately.
+ - Run the following command to enable large query isolation:
PUT _cluster/settings
+{
+ "persistent": {
+ "search.isolator.enabled": true
+ }
+}
+
+Table 1 Enabling large query isolationParameter
+ |
+Type
+ |
+Description
+ |
+
+
+search.isolator.enabled
+ |
+Boolean
+ |
+Whether to enable large query isolation. When enabled, large queries are managed separately from other normal queries.
+- true (default): Enable large query isolation.
- false: Disable large query isolation.
+ |
+
+
+
+
+ - Run the following commands to configure thresholds for defining a large query task:
PUT _cluster/settings
+{
+ "persistent": {
+ "search.isolator.memory.task.limit": "50MB",
+ "search.isolator.time.management": "10s"
+ }
+}
+
+Table 2 Parameters for configuring large query isolation thresholdsParameter
+ |
+Type
+ |
+Description
+ |
+
+
+search.isolator.memory.task.limit
+ |
+String
+ |
+Large query memory threshold: When a query requests more memory than specified by this threshold, it is placed into an isolation pool.
+Value range: 0b to the maximum heap memory of a node.
+Unit: MB, GB, or other units supported by OpenSearch.
+The default value is 50 MB.
+ |
+
+search.isolator.time.management
+ |
+String
+ |
+Large query duration threshold: When a query has lasted longer than specified by this threshold, it is placed into an isolation pool.
+Value range: ≥ 0ms
+Unit: s (second), ms (millisecond), m (minute), or h (hour).
+The default value is 10s.
+ |
+
+
+
+
+ - Configure the resource usage thresholds for triggering query cancelation.
PUT _cluster/settings
+{
+ "persistent": {
+ "search.isolator.memory.pool.limit": "50%",
+ "search.isolator.memory.heap.limit": "90%",
+ "search.isolator.count.limit": 1000
+ }
+}
+
+Table 3 Parameters for configuring query cancelation thresholdsParameter
+ |
+Type
+ |
+Description
+ |
+
+
+search.isolator.memory.pool.limit
+ |
+String
+ |
+Isolation pool memory usage threshold, which indicates the maximum node heap memory usage allowed. When the total memory requested by all large queries in the isolation pool exceeds this threshold, one of the large queries is automatically canceled based on a predefined policy.
+Value range: 0.0–100.0%
+The default value is 50.
+ |
+
+search.isolator.memory.heap.limit
+ |
+String
+ |
+Heap memory usage threshold, which indicates the actual node heap memory usage, contributed by both writes and queries. When the node heap memory usage exceeds this threshold, one of the large queries is automatically canceled based on a predefined policy.
+Value range: 0.0–100.0%
+The default value is 90%.
+ |
+
+search.isolator.count.limit
+ |
+Integer
+ |
+The maximum number of queries in the isolation pool. When this threshold is reached, query cancelation is triggered, and no new queries will be accepted.
+Value range: 10–50000
+The default value is 1000.
+ |
+
+
+
+
+ In addition to search.isolator.memory.pool.limit and search.isolator.count.limit, you can configure search.isolator.memory.task.limit and search.isolator.time.management to control the number of query tasks that enter the isolation pool.
+
+ - Configure a policy for selecting queries to cancel in the isolation pool.
PUT _cluster/settings
+{
+ "persistent": {
+ "search.isolator.strategy": "fair",
+ "search.isolator.strategy.ratio": "0.5%"
+ }
+}
+
+Table 4 Parameters for configuring a query cancelation policyParameter
+ |
+Type
+ |
+Description
+ |
+
+
+search.isolator.strategy
+ |
+String
+ |
+Policy for selecting which query to cancel when query isolation is triggered.
+- fair (default): Selects which query to cancel by considering both memory usage and query duration. If the difference between the memory used by two queries ≤ maximum node heap memory x fair policy threshold, the query that has lasted the longest is canceled; on the contrary, if it is greater than that, the most memory-intensive query is canceled instead.
- mem-first: Cancels the query that has the highest memory usage.
- time-first: Cancels the query that has lasted the longest.
+The large query isolation pool is checked every second until the heap memory is within the safe range.
+ |
+
+search.isolator.strategy.ratio
+ |
+String
+ |
+Fair policy threshold, which is the ratio of the memory difference between two queries in the isolation pool to the maximum node heap memory. If this threshold is not reached, the query that has lasted the longest will be canceled. Otherwise, the query that occupies the most memory will be canceled.
+This parameter is valid only when search.isolator.strategy is set to fair.
+Value range: 0.0–100.0%
+The default value is 1.
+ |
+
+
+
+
+
+
+ Configuring Global Query TimeoutA global query timeout, as the name indicates, applies to all queries. Global query timeout is disabled by default. Any change takes effect immediately.
+ Run the following command to enable and configure a global query timeout: PUT _cluster/settings
+{
+ "persistent": {
+ "search.isolator.time.enabled": true,
+ "search.isolator.time.limit": "110s"
+ }
+}
+
+ Table 5 Parameter descriptionParameter
+ |
+Type
+ |
+Description
+ |
+
+
+search.isolator.time.enabled
+ |
+Boolean
+ |
+Whether to enable a global query timeout. When enabled, queries are automatically canceled when they last longer than a predefined timeout.
+- true: Enable global query timeout.
- false (default): Disable global query timeout.
+ |
+
+search.isolator.time.limit
+ |
+String
+ |
+The value of the global query timeout.
+Value range: ≥ 0 ms
+The default value is 120s.
+ |
+
+
+
+
+
+
+ Configuring the Maximum Number of Log Records Retained for Query CancelationRun the following command to set the maximum number of log records retained for canceled queries: PUT _cluster/settings
+{
+ "persistent": {
+ "search.isolator.log.count": "100"
+ }
+}
+
+ Parameter
+ |
+Data Type
+ |
+Description
+ |
+
+
+search.isolator.log.count
+ |
+Integer
+ |
+Maximum number of log records retained for canceled queries. Canceled query requests are recorded in the memory for the purpose of analyzing and optimizing large queries. Excess records will be discarded.
+This parameter is valid only when search.isolator.enabled is set to true.
+Value range: 0–5000
+The default value is 100.
+You can use the following API to check query cancelation logs:
+- Query all nodes:
GET /_isolator_metrics
+ - Query a single node:
GET /_isolator_metrics/{nodeId}
+ - Query details about canceled queries on all nodes:
GET /_isolator_metrics?detailed
+ - Query details about canceled queries on a single node:
GET /_isolator_metrics/{nodeId}?detailed
+
+In the commands above, nodeId indicates the node ID. Example response:
+{
+ "_nodes": {
+ "total": 1,
+ "successful": 1,
+ "failed": 0
+ },
+ "cluster_name": "test",
+ "nodes": {
+ "CTqrZFXWTzmLonSZyNMKkQ": {
+ "name": "test-ess-esn-1-1",
+ "host": "172.16.101.116",
+ "total_cancel": 0, //Total number of canceled queries
+ "isolator_cancel": 0, //Number of queries canceled because isolation pool thresholds were exceeded
+ "out_of_time_cancel": 0 //Number of queries canceled due to timeout
+ }
+ }
+}
+ |
+
+
+
+
+
+
+
+
+
diff --git a/docs/css/umn/en-us_topic_0000001972160305.html b/docs/css/umn/css_01_0055.html
similarity index 80%
rename from docs/css/umn/en-us_topic_0000001972160305.html
rename to docs/css/umn/css_01_0055.html
index 82448197b..a47cdf378 100644
--- a/docs/css/umn/en-us_topic_0000001972160305.html
+++ b/docs/css/umn/css_01_0055.html
@@ -8,18 +8,24 @@
|
-2025-04-11
+ | 2025-11-15
+ |
+Added:
+- OpenSearch 2.19 is supported.
+ |
+
+2025-04-11
|
Modified:
-
+
|
2024-11-04
|
Added:
-
+
Modified:
-
+
|
2024-05-17
@@ -45,14 +51,14 @@
| 2023-09-25
|
Added:
-
+
|
2023-03-28
|
- Optimized the content structure of the following sections:
- What Is Cloud Search Service?
- Related Services
- Clusters in Security Mode
- Updated the procedure description in the following sections:
- Getting Started with Elasticsearch
- Changing Specifications
- - Added:
+
- Added:
- Deleted the following sections:
- What Is Kibana?
- What is Cerebro?
- Suggestions on Using Elasticsearch
- Viewing Monitoring Metrics
- Creating Alarm Rules
|
diff --git a/docs/css/umn/css_01_0056.html b/docs/css/umn/css_01_0056.html
new file mode 100644
index 000000000..d0c73a263
--- /dev/null
+++ b/docs/css/umn/css_01_0056.html
@@ -0,0 +1,615 @@
+
+
+Configuring Flow Control for an OpenSearch Cluster
+Configure flow control policies for your OpenSearch cluster in both the inbound and outbound directions, ensuring cluster stability by safeguarding against abnormal traffic.
+ An OpenSearch cluster can become overloaded due to traffic surges, malicious requests, and internal resource competition, which can even lead to node failures. Through policies like client request throttling, write backpressure, and traffic pattern analysis, flow control ensures proper resource allocation, thereby protecting clusters from overload. It covers the following scenarios: - High-concurrency write handling: mitigates the risk of out-of-memory (OOM) exceptions under heavy write loads.
- Security defense: controls access by IP address using both blacklists and whitelists.
- Emergency response: blocks malicious or abnormal traffic in one click.
- Performance optimization: optimizes flow control thresholds and policies based on collected statistics.
+
+ How the Feature Works
+ Table 1 Flow control policiesPolicy
+ |
+What It Does
+ |
+Details
+ |
+
+
+HTTP/HTTPS flow control
+ |
+Controls client access traffic using blacklists and whitelists, an upper limit on concurrent connections, and a rate limit on new connection attempts.
+- Blacklists and whitelists: A whitelist takes precedence over a blacklist. If an IP address is on both lists, it is allowed. Requests sent through blacklisted connections will be ignored.
- Concurrent connection limit: Limits the total number of HTTP connections per second to prevent overload.
- New connection limit: Limits the number of new connections that can be set up per second. The warmup_period parameter protects against connection floods, allowing traffic to grow gradually and steadily.
+ |
+Configuring HTTP/HTTPS Flow Control
+ |
+
+Memory flow control
+ |
+When the heap memory usage exceeds a pre-defined threshold (for example, 80%), the system stops receiving large requests, and garbage collection (GC) is triggered to reclaim memory.
+Write traffic is throttled by setting the backpressure factor (in_flight_factor) and the maximum delay for request handling (max).
+ |
+Configuring Memory-based Flow Control
+ |
+
+One-click traffic blocking
+ |
+When enabled, the system immediately disconnects all client connections, but not those used for OpenSearch Dashboards access or O&M and monitoring APIs, in order to restore the cluster.
+ |
+Configuring One-Click Traffic Blocking
+ |
+
+Request statistics sampling and analysis
+ |
+Records request metrics (such as bulk writes and queries) by client IP address, and exposes them via a statistics API to evaluate the cluster load and proactively identify abnormal traffic patterns.
+ |
+Configuring Request Statistics Sampling and Analysis
+ |
+
+Access logging
+ |
+Records the URLs and bodies of HTTP/HTTPS requests for cluster load and client request analysis.
+Access logs can also be saved to files (that is, persisted to disk) to facilitate troubleshooting and performance analysis.
+ |
+
+ |
+
+
+
+
+
+ Constraints- Only OpenSearch 2.19.0 supports flow control.
- Enabling flow control may compromise cluster and node performance. For example, memory-based flow control may cause query failures on OpenSearch Dashboards.
- Configuring too many paths for memory-based flow control has a significant impact on performance.
- Enabling access logging will hurt cluster performance.
- After flow control policies are enabled, excess or non-compliant requests are rejected directly.
+
+ Logging In to OpenSearch DashboardsLog in to OpenSearch Dashboards and go to the command execution page. OpenSearch clusters support multiple access methods. This topic uses OpenSearch Dashboards as an example to describe the operation procedures.
+ - Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > OpenSearch.
- In the cluster list, find the target cluster, and click Dashboards in the Operation column to log in to OpenSearch Dashboards.
- In the left navigation pane, choose Dev Tools.
The left part of the console is the command input box, and the triangle icon in its upper-right corner is the execution button. The right part shows the execution result.
+
+
+ Configuring HTTP/HTTPS Flow ControlControl client access traffic using blacklists and whitelists, an upper limit on concurrent connections, and a rate limit on new connection attempts.
+ - Enable HTTP/HTTPS flow control.
PUT /_cluster/settings
+{
+ "persistent": {
+ "flowcontrol.http.enabled": true,
+ "flowcontrol.http.allow": ["192.168.0.1/24", "192.168.2.1/24"],
+ "flowcontrol.http.deny": "192.168.1.1/24",
+ "flowcontrol.http.concurrent": 1000,
+ "flowcontrol.http.newconnect": 1000,
+ "flowcontrol.http.warmup_period": 0
+ }
+}
+
+Table 2 Parameters for configuring HTTP/HTTPS flow controlParameter
+ |
+Type
+ |
+Description
+ |
+
+
+flowcontrol.http.enabled
+ |
+Boolean
+ |
+Whether to enable HTTP/HTTPS flow control. Enabling it may impact node performance.
+- true: Enable HTTP/HTTPS flow control.
- false (default): Disable HTTP/HTTPS flow control.
+ |
+
+flowcontrol.http.allow
+ |
+List<String>
+ |
+A whitelist of client IP addresses or CIDR blocks that are allowed to access the cluster, supporting:
+- Individual IP addresses, for example, 192.18.0.1.
- CIDR blocks, for example, 192.168.0.0/24.
- Multiple IP addresses or CIDR blocks separated by commas (,), for example, 192.168.0.1/24, 192.168.2.1/24.
+The default is an empty list, indicating no whitelist.
+Setting this parameter to null restores the default value.
+ |
+
+flowcontrol.http.deny
+ |
+List<String>
+ |
+A blacklist of client IP addresses or CIDR blocks that are not allowed to access the cluster. A whitelist takes precedence over a blacklist. A blacklist supports the following:
+- Individual IP addresses, for example, 192.18.0.1.
- CIDR blocks, for example, 192.168.0.0/24.
- Multiple IP addresses or CIDR blocks separated by commas (,), for example, 192.168.0.1/24, 192.168.2.1/24.
+The default is an empty list, indicating no blacklist.
+Setting this parameter to null restores the default value.
+ |
+
+flowcontrol.http.concurrent
+ |
+Integer
+ |
+Maximum number of concurrent HTTP/HTTPS connections that can be handled by each node per second. The default value is the number of available node vCPUs multiplied by 600.
+ |
+
+flowcontrol.http.newconnect
+ |
+Integer
+ |
+Maximum number of new HTTP/HTTPS connections that can be created per second per node.
+The default value is the number of available node vCPUs multiplied by 200.
+Setting this parameter to null restores the default value.
+ |
+
+flowcontrol.http.warmup_period
+ |
+Integer
+ |
+A grace period during which a system gradually ramp up from accepting zero HTTP/HTTPS requests to its full, maximum capacity.
+Value range: 0–10000
+Unit: ms
+The default value is 0, indicating that there is no such warm-up period, and the maximum rate can be reached instantly.
+Setting this parameter to null restores the default value.
+For example, if flowcontrol.http.newconnect is set to 100 and flowcontrol.http.warmup_period is set to 5000ms, it takes 5 seconds for the system to reach 100 new connections per second.
+ |
+
+
+
+
+ - Disable HTTP/HTTPS flow control.
PUT /_cluster/settings
+{
+ "persistent": {
+ "flowcontrol.http.enabled": false
+ }
+}
+
+
+ Configuring Memory-based Flow ControlEnable write throttling to mitigate the risk of OOM exceptions when the heap memory usage of a node exceeds a predefined threshold.
+ - Enable memory-based flow control.
PUT /_cluster/settings
+{
+ "persistent": {
+ "flowcontrol.memory.enabled": true,
+ "flowcontrol.memory.heap_limit": "80%"
+ }
+}
+
+Table 3 Memory-based flow control parametersParameter
+ |
+Type
+ |
+Description
+ |
+
+
+flowcontrol.memory.enabled
+ |
+Boolean
+ |
+Whether to enable memory-based flow control. When enabled, node heap memory usage is monitored and a threshold is set, and writes are throttled when this threshold is reached. - true: Enable memory-based flow control.
- false (default): Disable memory-based flow control.
+
+ |
+
+flowcontrol.memory.heap_limit
+ |
+String
+ |
+Node heap memory usage threshold. When this threshold is exceeded, a write backpressure mechanism is triggered.
+Value range: 10%–100%
+The default value 90% of flowcontrol.memory.heap_limit is a conservative threshold. When the heap memory usage exceeds 90%, the system stops accepting client requests that exceed 64 KB, until heap memory usage decreases. Once the heap memory usage decreases to 85%, client data equivalent to 5% x maximum heap memory capacity can be read. If the heap memory usage stays above 90% for a long time, client requests cannot be processed. In this case, garbage collection is triggered until the heap memory usage drops below this threshold.
+Generally, you can set this threshold to 80% or less to ensure that cluster nodes have reserved some heap memory for operations besides data writing, such as segment merges.
+Setting this parameter to null restores the default value.
+ |
+
+flowcontrol.holding.in_flight_factor
+ |
+Float
+ |
+Backpressure factor, which controls the sensitivity of memory-based backpressure. A larger value indicates more powerful write throttling.
+Value range: ≥ 0.5
+The default value is 1.0.
+Setting this parameter to null restores the default value.
+ |
+
+flowcontrol.holding.max
+ |
+TimeValue
+ |
+Maximum request handling delay allowed before requests are handled according to the policy defined by flowcontrol.holding.max_strategy.
+Value range: ≥ 15s
+Unit: second
+Default value: 60s
+Setting this parameter to null restores the default value.
+ |
+
+flowcontrol.holding.max_strategy
+ |
+String
+ |
+Handling policy for requests delayed longer than flowcontrol.holding.max.
+- keep (default): Keep the backpressure status while waiting for the memory usage to drop. The server determines when to execute the requests based on real-time memory usage.
- soft: Forcibly execute the requests, but the inFlight circuit breaker gets to decide whether to reject them.
- hard: Reject the requests immediately and disconnect client connections.
+Setting this parameter to null restores the default value.
+ |
+
+flowcontrol.memory.once_free_max
+ |
+String
+ |
+Maximum memory that can be made available at a time for a re-enabled request queue. This parameter can be configured to prevent cluster overload caused by a flood of incoming requests.
+Value range: 1%–50%
+The default value is 5%.
+Setting this parameter to null restores the default value.
+ |
+
+flowcontrol.memory.nudges_gc
+ |
+Boolean
+ |
+Whether to trigger garbage collection (GC) to reclaim memory when the write pressure is too high. (The backpressure connection pool is checked every second. The write pressure is considered high if all existing connections are blocked and new write requests cannot be accepted.)
+- true (default): Trigger GC.
- false: Not to trigger GC.
+Setting this parameter to null restores the default value.
+ |
+
+
+
+
+ - Disable memory-based flow control.
PUT /_cluster/settings
+{
+ "persistent": {
+ "flowcontrol.memory.enabled": false
+ }
+}
+
+
+ Configuring One-Click Traffic BlockingIn case of emergencies, the system immediately disconnects all client connections (excluding those used for OpenSearch Dashboards access or O&M and monitoring APIs) to restore clusters.
+ - Enable one-click traffic blocking.
PUT /_cluster/settings
+{
+ "persistent": {
+ "flowcontrol.break.enabled": true
+ }
+}
+
+Table 4 Parameters for configuring one-click traffic blockingParameter
+ |
+Type
+ |
+Description
+ |
+
+
+flowcontrol.break.enabled
+ |
+Boolean
+ |
+Whether to enable one-click traffic blocking (similar to a circuit breaker). When enabled, the system immediately disconnects all client connections, but not those used for OpenSearch Dashboards access or O&M and monitoring APIs.
+- true: Enable one-click disconnection.
- false (default): Disable one-click disconnection.
+ |
+
+
+
+
+ - Disable one-click disconnection:
PUT /_cluster/settings
+{
+ "persistent": {
+ "flowcontrol.break.enabled": false
+ }
+}
+
+
+ Configuring Request Statistics Sampling and AnalysisCollect request metrics by client IP address to help identify abnormal traffic patterns.
+ - Enable request statistics sampling.
PUT _cluster/settings
+{
+ "transient": {
+ "flowcontrol.log.access.enabled": true
+ }
+}
+
+Table 5 Parameters for request statistics samplingParameter
+ |
+Type
+ |
+Description
+ |
+
+
+flowcontrol.log.access.enabled
+ |
+Boolean
+ |
+Whether to enable request statistics sampling, that is, whether to collect request metrics (such as bulk writes and search/msearch requests) by client IP address. - true: Enable request statistics sampling.
- false (default): Disable request statistics sampling.
+
+ |
+
+flowcontrol.log.access.count
+ |
+Integer
+ |
+Maximum number of client IP addresses sampled.
+Value range: 0–100
+Default value: 10
+Setting this parameter to null restores the default value.
+ |
+
+
+
+
+ - Check the sampled statistics.
- Check the flow control status of all nodes.
GET /_nodes/stats/filter/v2
+ - Check the flow control details of all nodes.
GET /_nodes/stats/filter/v2?detail
+ - Check the flow control status of a specified node.
GET /_nodes/{nodeId}/stats/filter/v2
+{nodeId} indicates the node ID.
+
+Example response: {
+ "_nodes" : {
+ "total" : 1,
+ "successful" : 1,
+ "failed" : 0
+ },
+ "cluster_name" : "css-xxxx",
+ "nodes" : {
+ "d3qnVIpPTtSoadkV0LQEkA" : {
+ "name" : "css-xxxx-ess-esn-1-1",
+ "host" : "192.168.x.x",
+ "timestamp" : 1672236425112,
+ "flow_control" : {
+ "http" : {
+ "current_connect" : 52,
+ "rejected_concurrent" : 0,
+ "rejected_rate" : 0,
+ "rejected_black" : 0,
+ "rejected_breaker" : 0
+ },
+ "access_items" : [
+ {
+ "remote_address" : "10.0.0.x",
+ "search_count" : 0,
+ "bulk_count" : 0,
+ "other_count" : 4
+ }
+ ],
+ "holding_requests" : 0
+ }
+ }
+ }
+}
+
+ Table 6 Response parametersParameter
+ |
+Description
+ |
+
+
+current_connect
+ |
+Number of HTTP connections to a node, which is recorded regardless of whether flow control is enabled. This value is equivalent to the current_open value of GET /_nodes/stats/http API. It shows the current client connections of each node.
+ |
+
+rejected_concurrent
+ |
+Number of concurrent connections rejected during flow control.
+This metric is available only when flowcontrol.http.enabled is set to true. The count will not be cleared when flow control is disabled.
+ |
+
+rejected_rate
+ |
+Number of new connections rejected during flow control.
+This metric is available only when flowcontrol.http.enabled is set to true. The count will not be cleared when flow control is disabled.
+ |
+
+rejected_black
+ |
+Number of new connections rejected by a preconfigured blacklist during flow control.
+This metric is available only when flowcontrol.http.enabled is set to true. The count will not be cleared when flow control is disabled.
+ |
+
+rejected_breaker
+ |
+Number of new connections rejected during one-click traffic blocking.
+This metric is available only when flowcontrol.break.enabled is set to true. The count will not be cleared when one-click traffic blocking is disabled.
+ |
+
+access_items
+ |
+IP addresses of clients that recently accessed the cluster.
+The number of client IP addresses sampled is determined by flowcontrol.log.access.count.
+ |
+
+remote_address
+ |
+IP addresses and the number of requests.
+ |
+
+search_count
+ |
+Number of times a client accessed a database using _search and _msearch.
+ |
+
+bulk_count
+ |
+Number of times a client accessed a database using _bulk.
+ |
+
+other_count
+ |
+Number of times a client accessed a database using other request methods.
+ |
+
+holding_requests
+ |
+Number of connections to the current node where writes are halted due to flow control.
+ |
+
+
+
+
+
+ - Disable request statistics sampling.
PUT /_cluster/settings
+{
+ "persistent": {
+ "flowcontrol.log.access.enabled": false
+ }
+}
+
+
+ Configuring Access LoggingWhen access logging is enabled, the system records the URLs and bodies of HTTP/HTTPS requests for cluster load and request analysis.
+ - Enable access logging.
- Enable access logging for all nodes in a cluster.
PUT /_access_log?duration_limit=30s&capacity_limit=1mb
+ - Enable access logging for a specified node in a cluster.
PUT /_access_log/{nodeId}?duration_limit=30s&capacity_limit=1mb
+{nodeId} indicates the node ID.
+
+
+Table 7 Parameters for enabling access loggingParameter
+ |
+Type
+ |
+Description
+ |
+
+
+duration_limit
+ |
+String
+ |
+Maximum duration of access log records. When this duration is reached, access logging stops.
+Value range: 10 to 120
+Unit: s
+The default value is 30.
+Setting this parameter to null restores the default value.
+Access logging stops when either duration_limit or capacity_limit is reached.
+ |
+
+capacity_limit
+ |
+String
+ |
+Maximum memory capacity for recording access logs. When the size of an access log reaches this limit, access logging stops.
+Value range: 1 to 5
+Unit: MB
+The default value is 1.
+Setting this parameter to null restores the default value.
+Access logging stops when either duration_limit or capacity_limit is reached.
+ |
+
+
+
+
+ - Check access logs.
+
Example response: {
+ "_nodes" : {
+ "total" : 1,
+ "successful" : 1,
+ "failed" : 0
+ },
+ "cluster_name" : "css-flowcontroller",
+ "nodes" : {
+ "8x-ZHu-wTemBQwpcGivFKg" : {
+ "name" : "css-flowcontroller-ess-esn-1-1",
+ "host" : "10.0.0.98",
+ "count" : 2,
+ "access" : [
+ {
+ "time" : "2021-02-23 02:09:50",
+ "remote_address" : "/10.0.0.98:28191",
+ "url" : "/_access/security/log?pretty",
+ "method" : "GET",
+ "content" : ""
+ },
+ {
+ "time" : "2021-02-23 02:09:52",
+ "remote_address" : "/10.0.0.98:28193",
+ "url" : "/_access/security/log?pretty",
+ "method" : "GET",
+ "content" : ""
+ }
+ ]
+ }
+ }
+}
+
+ Table 8 Response parametersParameter
+ |
+Description
+ |
+
+
+name
+ |
+Node name
+ |
+
+host
+ |
+Node IP address
+ |
+
+count
+ |
+Number of node access requests in a statistical period
+ |
+
+access
+ |
+Details about node access requests in a statistical period
+ |
+
+time
+ |
+Request time
+ |
+
+remote_address
+ |
+Source IP address and port number in the request
+ |
+
+url
+ |
+Original URL of the request
+ |
+
+method
+ |
+Request method
+ |
+
+content
+ |
+Request content. If the value is an empty string (""), there is no request body.
+ |
+
+
+
+
+
+ - Delete access logs. Logs are recorded in the memory. After reading the logs, you are advised to delete them to reclaim resources.
Delete access logs for all nodes: DELETE /_access_log
+
+
+
+ Configuring Access Logging in FilesAccess logs can be persisted to disk for troubleshooting and analysis. Use this function sparingly, as it can impact cluster performance. Remember to disable it immediately after resolving the issue.
+ - Enable access logging in files.
PUT /_cluster/settings
+{
+ "persistent": {
+ "flowcontrol.log.file.enabled": true
+ }
+}
+
+Table 9 Enable access logging in filesParameter
+ |
+Type
+ |
+Description
+ |
+
+
+flowcontrol.log.file.enabled
+ |
+Boolean
+ |
+Whether to record access logs in files. When enabled, the log of each access request is recorded in files.
+The log file name is Cluster name_access_log.log. You can check this file only through the log backup function.
+- true: Record access logs in files.
- false (default): Not to record access logs in files.
+ |
+
+
+
+
+ - Disable access logging in files.
PUT /_cluster/settings
+{
+ "persistent": {
+ "flowcontrol.log.file.enabled": false
+ }
+}
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0058.html b/docs/css/umn/css_01_0058.html
index f7f50f9b2..16bc5104a 100644
--- a/docs/css/umn/css_01_0058.html
+++ b/docs/css/umn/css_01_0058.html
@@ -1,13 +1,11 @@
-
+
-Binding an Elasticsearch Cluster to an Enterprise Project
-You can create enterprise projects based on your organizational structure. Then you can manage resources across different regions by enterprise project, add users and user groups to enterprise projects, and grant different permissions to the users and user groups. This section describes how to bind a CSS cluster to an enterprise project and how to modify an enterprise project.
- PrerequisitesBefore binding an enterprise project, you have created an enterprise project.
+ Associating an Elasticsearch Cluster with an Enterprise Project
+ In CSS, you can associate your Elasticsearch cluster with an enterprise project. You can create enterprise projects based on your organizational structure. Then you can manage resources across different regions by enterprise project, add users and user groups to enterprise projects, and grant different permissions to the users and user groups.
+ You can associate your cluster with an enterprise project either when creating the cluster or afterward.
+ PrerequisitesYou have created an enterprise project.
- Binding an Enterprise ProjectWhen creating a cluster, you can bind an existing enterprise project to the cluster, or click View Enterprise Project to go to the enterprise project management console and create a new project or view existing projects.
-
- Modifying an Enterprise ProjectFor a cluster that has been created, you can modify its enterprise project based on the site requirements.
- - Log in to the CSS management console.
- In the navigation pane on the left, select a cluster type. The cluster management page is displayed.
- In the cluster list on the displayed page, click the target cluster name to switch to the Cluster Information page.
- On the Cluster Information page, click the enterprise project name on the right of Enterprise Project. The project management page is displayed.
- On the Resources tab page, select the region of the current cluster, and select CSS for Service. In this case, the corresponding CSS cluster is displayed in the resource list.
- Select the cluster whose enterprise project you want to modify and click Remove.
- On the Remove Resource page, specify Mode and select Destination Enterprise Project, and click OK.
- After the resource is removed, you can view the modified enterprise project information on the Clusters page.
+ Managing Enterprise Projects- Log in to the CSS management console.
- In the navigation pane on the left, choose Clusters > Elasticsearch.
- In the cluster list, click the name of the target cluster. The cluster information page is displayed.
- On the Overview tab, find Enterprise Project in the Configuration area, and click the enterprise project name next to it. The Project Management page is displayed.
- On the Resources tab, select the region of the current cluster, and select CloudSearchService as Service. Then click Search. The CSS clusters are displayed in the resource list below.
- Select the cluster whose enterprise project you want to modify and click Remove.
- On the Remove Resource page, specify Mode and select Destination Enterprise Project, and click OK.
- After the change is complete, return to the Elasticsearch cluster list on the CSS console and check the cluster's new enterprise project.
diff --git a/docs/css/umn/css_01_0059.html b/docs/css/umn/css_01_0059.html
new file mode 100644
index 000000000..0083f0097
--- /dev/null
+++ b/docs/css/umn/css_01_0059.html
@@ -0,0 +1,26 @@
+
+
+
+ Importing Data to an OpenSearch Cluster
+
+
+
+
+
diff --git a/docs/css/umn/css_01_0060.html b/docs/css/umn/css_01_0060.html
index 8ac6c0a7d..e61ba12cb 100644
--- a/docs/css/umn/css_01_0060.html
+++ b/docs/css/umn/css_01_0060.html
@@ -1,78 +1,78 @@
-
+
Managing Failed Tasks for Elasticsearch Clusters
- In the Failed Tasks dialog box, you can view the failed tasks related to a cluster, such as failing to create, restart, scale out, back up, or restore a cluster. In addition, you can view the failure cause of each task and choose to delete one or all failed tasks.
- Viewing Failed Tasks- Log in to the CSS management console.
- Click Clusters to switch to the Clusters page. Click the digit next to Failed Tasks to switch to the Failed Tasks dialog box.
Figure 1 Clicking the digit next to Failed Tasks
- - In the Failed Tasks dialog box, view all failed tasks of the current account. The following information about the failed tasks is displayed: Name/ID, Task Status, and Failure Time.
- Click the question mark in the Task Status column to view the failure cause of a task. You are advised to troubleshoot faults based on failure causes. For details about failure causes, see Error Code.
Figure 2 Viewing the failure cause of a task
+In the Failed Tasks dialog box, you can view the failed tasks related to a cluster, such as failing to create, restart, scale out, back up, or restore a cluster. In addition, you can view the failure cause of each task and choose to delete one or all failed tasks.
+ Viewing Failed Tasks- Log in to the CSS management console.
- Click Clusters to switch to the Clusters page. Click the digit next to Failed Tasks to switch to the Failed Tasks dialog box.
Figure 1 Clicking the digit next to Failed Tasks
+ - In the Failed Tasks dialog box, view all failed tasks of the current account. The following information about the failed tasks is displayed: Name/ID, Task Status, and Failure Time.
- Click the question mark in the Task Status column to view the failure cause of a task. You are advised to troubleshoot faults based on failure causes. For details about failure causes, see Error Code.
Figure 2 Viewing the failure cause of a task
- Deleting a Failed TaskYou can delete one or all failed tasks at a time.
- - To delete a failed task, perform the following operations: Locate the row that contains the target task and click Delete in the Operation column. In the displayed dialog box, confirm the task you want to delete and click Yes.
- To delete all failed tasks, perform the following operations: In the Failed Tasks dialog box, click Delete All. In the displayed dialog box, confirm the information about all failed tasks and click Yes.
- Figure 3 Deleting a failed task
+ Deleting a Failed TaskYou can delete one or all failed tasks at a time.
+ - To delete a failed task, perform the following operations: Locate the row that contains the target task and click Delete in the Operation column. In the displayed dialog box, confirm the task you want to delete and click Yes.
- To delete all failed tasks, perform the following operations: In the Failed Tasks dialog box, click Delete All. In the displayed dialog box, confirm the information about all failed tasks and click Yes.
+ Figure 3 Deleting a failed task
- Error Code
- Table 1 Failure causesError Code
+Error Code
+ Table 1 Failure causesError Code
|
-Failure Cause
+ | Failure Cause
|
-Solution
+ | Solution
|
-CSS.6000
+ | CSS.6000
|
-Failed to create the cluster because of an internal error. Please try again later. If the problem persists, contact customer service.
+ | Failed to create the cluster because of an internal error. Please try again later. If the problem persists, contact customer service.
|
-Please try again later or contact customer service.
+ | Please try again later or contact customer service.
|
-CSS.6001
+ | CSS.6001
|
-Failed to scale out the cluster because of an internal error. Please try again later. If the problem persists, contact customer service.
+ | Failed to scale out the cluster because of an internal error. Please try again later. If the problem persists, contact customer service.
|
-CSS.6002
+ | CSS.6002
|
-Failed to restart the cluster because of an internal error. Please try again later. If the problem persists, contact customer service.
+ | Failed to restart the cluster because of an internal error. Please try again later. If the problem persists, contact customer service.
|
-CSS.6003
+ | CSS.6003
|
-Failed to restore the cluster because of an internal error. Please try again later. If the problem persists, contact customer service.
+ | Failed to restore the cluster because of an internal error. Please try again later. If the problem persists, contact customer service.
|
-CSS.6004
+ | CSS.6004
|
-Failed to create the node because of ECS exceptions (<ECS error code>). Please try again later. If the problem persists, contact customer service.
- NOTE: <ECS error code> indicates the error information reported by ECS. For details about the cause and solution, see ECS Error Code Description.
+ Failed to create the node because of ECS exceptions (<ECS error code>). Please try again later. If the problem persists, contact customer service.
+ NOTE: <ECS error code> indicates the error information reported by ECS. For details about the cause and solution, see ECS Error Code Description.
|
|
-CSS.6005
+ | CSS.6005
|
-Failed to initialize the service because of an internal error. Please try again later. If the problem persists, contact customer service.
+ | Failed to initialize the service because of an internal error. Please try again later. If the problem persists, contact customer service.
|
-CSS.6007
+ | CSS.6007
|
-Failed to create the snapshot because of an internal error. Please try again later. If the problem persists, contact customer service.
+ | Failed to create the snapshot because of an internal error. Please try again later. If the problem persists, contact customer service.
|
-CSS.6008
+ | CSS.6008
|
-Failed to create the snapshot because the OBS bucket you select does not exist or has been deleted.
+ | Failed to create the snapshot because the OBS bucket you select does not exist or has been deleted.
|
-Modify the OBS bucket.
+ | Modify the OBS bucket.
|
-CSS.6009
+ | CSS.6009
|
-Failed to restore the snapshot because the OBS bucket you select does not exist or has been deleted.
+ | Failed to restore the snapshot because the OBS bucket you select does not exist or has been deleted.
|
-CSS.6010
+ | CSS.6010
|
-Failed to restore the snapshot because the OBS object does not exist or has been deleted.
+ | Failed to restore the snapshot because the OBS object does not exist or has been deleted.
|
diff --git a/docs/css/umn/css_01_0061.html b/docs/css/umn/css_01_0061.html
index 9b37de087..45560f3de 100644
--- a/docs/css/umn/css_01_0061.html
+++ b/docs/css/umn/css_01_0061.html
@@ -1,10 +1,10 @@
-
+
Using SQL to Search for Data in Elasticsearch
-For Elasticsearch 6.5.4 and later versions, Open Distro for Elasticsearch SQL lets you write queries in SQL rather than in the Elasticsearch query domain-specific language (DSL).
- Users who are familiar with SQL can use SQL to search for data in Elasticsearch clusters.
- |
|---|
|
|---|
|
|---|