docs: 文档更新

feat: 项目更新
main
bicijinlian 2 years ago
parent 0ce113f4c6
commit 17cf9ea8dc

@ -1,37 +0,0 @@
{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"使用.NET专用客户端 Elastic.Client 库管理单节点ES\n",
"==============================================="
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"language_info": {
"name": "polyglot-notebook"
},
"orig_nbformat": 4,
"polyglot_notebook": {
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
{
"aliases": [],
"name": "csharp"
}
]
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}

@ -8,6 +8,49 @@
"使用.NET专用客户端 Elastic.Client 库,管理集群\n",
"============================================"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 全局设置"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div><div><strong>Restore sources</strong><ul><li><span>https://api.nuget.org/v3/index.json</span></li></ul></div><div></div><div></div></div>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"ename": "Error",
"evalue": "C:\\Users\\ruyu\\.packagemanagement\\nuget\\Projects\\41008--9e051ac7-8ef7-4861-83fa-3e8c6a441ed6\\Project.fsproj : error NU1101: Unable to find package Ealstic.Client. No packages exist with this id in source(s): C:\\Program Files\\dotnet\\library-packs, C:\\Program Files\\dotnet\\sdk\\7.0.203\\FSharp\\library-packs, Microsoft Visual Studio Offline Packages, nuget.org",
"output_type": "error",
"traceback": [
"C:\\Users\\ruyu\\.packagemanagement\\nuget\\Projects\\41008--9e051ac7-8ef7-4861-83fa-3e8c6a441ed6\\Project.fsproj : error NU1101: Unable to find package Ealstic.Client. No packages exist with this id in source(s): C:\\Program Files\\dotnet\\library-packs, C:\\Program Files\\dotnet\\sdk\\7.0.203\\FSharp\\library-packs, Microsoft Visual Studio Offline Packages, nuget.org"
]
}
],
"source": [
"#i \"nuget:https://api.nuget.org/v3/index.json\"\n",
"#r \"nuget:Ealstic.Client\"\n"
]
}
],
"metadata": {

@ -1,15 +1,16 @@
@baseUrl = https://127.0.0.1:9200
@accounts = elastic:es-461400
### 请求ES首页
GET https://127.0.0.1:9200?pretty
GET {{baseUrl}}?pretty
Content-Type: application/json
Authorization: Basic elastic:es-461400
Authorization: Basic {{accounts}}
### 请求ES节点信息
GET https://127.0.0.1:9200/_cat/nodes?v
GET {{baseUrl}}/_cat/nodes?v
Content-Type: application/json
Authorization: Basic elastic:es-461400
Authorization: Basic {{accounts}}
### ES健康信息
GET https://127.0.0.1:9200/_cat/health?v
GET {{baseUrl}}/_cat/health?v
Content-Type: application/json
Authorization: Basic elastic:es-461400
Authorization: Basic {{accounts}}

@ -1,15 +1,20 @@
## 全局变量
//ES服务管理WebApi地址
@baseUrl = https://127.0.0.1:9201
//帐号认证信息:除了用户名:密码形式外也可使用使用其它base64字符串
@accounts = elastic:es-461400
### 请求ES首页
GET https://127.0.0.1:9201?pretty
GET {{baseUrl}}?pretty
Content-Type: application/json
Authorization: Basic elastic:es-461400
Authorization: Basic {{accounts}}
### 请求ES节点信息
GET https://127.0.0.1:9201/_cat/nodes?v
GET {{baseUrl}}/_cat/nodes?v
Content-Type: application/json
Authorization: Basic elastic:es-461400
Authorization: Basic {{accounts}}
### ES健康信息
GET https://127.0.0.1:9201/_cat/health?v
GET {{baseUrl}}/_cat/health?v
Content-Type: application/json
Authorization: Basic elastic:es-461400
Authorization: Basic {{accounts}}

@ -0,0 +1,198 @@
{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"使用.NET专用客户端 Elastic.Client 库管理单节点ES\n",
"==============================================="
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 全局设置"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"//引入 RestSharp 类库\n",
"#i \"nuget:https://api.nuget.org/v3/index.json\"\n",
"#r \"nuget:RestSharp,110.2.0\"\n",
"\n",
"using RestSharp;\n",
"using RestSharp.Extensions;\n",
"using RestSharp.Serializers;\n",
"using RestSharp.Authenticators;\n",
"\n",
"public RestClientOptions option = new RestClientOptions()\n",
"{\n",
" BaseUrl = new Uri(\"https://127.0.0.1:9200\"),\n",
" Authenticator = new HttpBasicAuthenticator(\"elastic\", \"es-461400\")\n",
"};\n",
"\n",
"//集群客户端\n",
"public RestClient ClusterRestClient = new RestClient(option);"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 集群主页面"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"//集群主页\n",
"{\n",
" var request = new RestRequest(\"?pretty\", Method.Get);\n",
" var healthResponse = ClusterRestClient.Get(request);\n",
" var context = healthResponse.Content;\n",
" context.Display();\n",
"}"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 集群节点信息"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"//获取集群节点信息\n",
"{\n",
" var request = new RestRequest(\"/_cat/nodes?v\", Method.Get);\n",
" var healthResponse = ClusterRestClient.Get(request);\n",
" var context = healthResponse.Content;\n",
" Console.WriteLine(context);\n",
"}"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 集群健康状态"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"{\n",
" var request = new RestRequest(\"/_cat/health?v\", Method.Get);\n",
" var healthResponse = ClusterRestClient.Get(request);\n",
" var context = healthResponse.Content;\n",
" //Console.WriteLine(context);\n",
" context.Display();\n",
"}"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 查询索引"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"//查询所有索引\n",
"{\n",
" var request = new RestRequest(\"/_cat/indices?v&pretty\", Method.Get);\n",
" var healthResponse = ClusterRestClient.Get(request);\n",
" var context = healthResponse.Content;\n",
" //Console.WriteLine(context);\n",
" context.Display();\n",
"}"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"language_info": {
"name": "polyglot-notebook"
},
"orig_nbformat": 4,
"polyglot_notebook": {
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
{
"aliases": [],
"name": "csharp"
}
]
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}

@ -0,0 +1,198 @@
{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"使用.NET专用客户端 Elastic.Client 库管理单节点ES\n",
"==============================================="
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 全局设置"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"//引入 RestSharp 类库\n",
"#i \"nuget:https://api.nuget.org/v3/index.json\"\n",
"#r \"nuget:RestSharp,110.2.0\"\n",
"\n",
"using RestSharp;\n",
"using RestSharp.Extensions;\n",
"using RestSharp.Serializers;\n",
"using RestSharp.Authenticators;\n",
"\n",
"public RestClientOptions option = new RestClientOptions()\n",
"{\n",
" BaseUrl = new Uri(\"https://127.0.0.1:9201\"),\n",
" Authenticator = new HttpBasicAuthenticator(\"elastic\", \"es-461400\")\n",
"};\n",
"\n",
"//集群客户端\n",
"public RestClient ClusterRestClient = new RestClient(option);"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 集群主页面"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"//集群主页\n",
"{\n",
" var request = new RestRequest(\"?pretty\", Method.Get);\n",
" var healthResponse = ClusterRestClient.Get(request);\n",
" var context = healthResponse.Content;\n",
" context.Display();\n",
"}"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 集群节点信息"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"//获取集群节点信息\n",
"{\n",
" var request = new RestRequest(\"/_cat/nodes?v\", Method.Get);\n",
" var healthResponse = ClusterRestClient.Get(request);\n",
" var context = healthResponse.Content;\n",
" Console.WriteLine(context);\n",
"}"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 集群健康状态"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"{\n",
" var request = new RestRequest(\"/_cat/health?v\", Method.Get);\n",
" var healthResponse = ClusterRestClient.Get(request);\n",
" var context = healthResponse.Content;\n",
" //Console.WriteLine(context);\n",
" context.Display();\n",
"}"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 查询索引"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"//查询所有索引\n",
"{\n",
" var request = new RestRequest(\"/_cat/indices?v&pretty\", Method.Get);\n",
" var healthResponse = ClusterRestClient.Get(request);\n",
" var context = healthResponse.Content;\n",
" //Console.WriteLine(context);\n",
" context.Display();\n",
"}"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"language_info": {
"name": "polyglot-notebook"
},
"orig_nbformat": 4,
"polyglot_notebook": {
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
{
"aliases": [],
"name": "csharp"
}
]
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}

@ -1,37 +0,0 @@
{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"使用 RestSharp 通过 ES WebApi 接口管理 ES\n",
"======================================="
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"language_info": {
"name": "polyglot-notebook"
},
"orig_nbformat": 4,
"polyglot_notebook": {
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
{
"aliases": [],
"name": "csharp"
}
]
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}

@ -8,7 +8,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="RestSharp" Version="110.1.0" />
<PackageReference Include="RestSharp" Version="110.2.0" />
</ItemGroup>
<ItemGroup>

@ -5,9 +5,4 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.0.10" />
<PackageReference Include="RestSharp" Version="110.1.0" />
</ItemGroup>
</Project>

@ -10,13 +10,14 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.0.10" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="3.1.2">
<PackageReference Include="coverlet.collector" Version="3.2.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>

@ -1,10 +1,4 @@
using Elastic.Transport;
using Elastic.Transport.Diagnostics;
using Elastic.Transport.Extensions;
using Elastic.Transport.Products;
using Elastic.Clients.Elasticsearch;
using Xunit.Abstractions;
using ElasticSearchStudy.Core;
namespace ElasticSearchStudy.UnitTest
@ -18,15 +12,18 @@ namespace ElasticSearchStudy.UnitTest
{
_output = outputHelper;
var elasticSetting = new ElasticsearchClientSettings(new Uri("https://localhost:9200"))
.CertificateFingerprint("F8:B0:ED:80:2C:1C:6C:76:6E:CC:21:3A:CD:91:C3:C8:C7:77:D4:41:F4:71:50:FB:E7:0E:66:0D:71:8C:F3:1A")
.Authentication(new BasicAuthentication("elastic", "3JI3QjRtjW8-Tl1q=mVx"));
var elasticSetting = new ElasticsearchClientSettings(new Uri("https://127.0.0.1:9201"))
.CertificateFingerprint("e57ce099af49fb34742cddffe1271c4ed709ef29649537fe89e6bee32728444d")
.Authentication(new BasicAuthentication("elastic", "es-461400"));
_client = new ElasticsearchClient(elasticSetting);
}
/// <summary>
/// 请求ES服务主页
/// </summary>
[Fact]
public void ES_Ping_Test()
public void Ping_Test()
{
var pingResponse = _client.Ping();
@ -42,31 +39,62 @@ namespace ElasticSearchStudy.UnitTest
Assert.True(pingResponse.IsSuccess());
}
/// <summary>
/// 集群健康信息
/// </summary>
[Fact]
public void CreateIndex_Test()
public void Health_Test()
{
_client.Ping();
var dd = _client.Cluster;
var response = _client.Cluster.Health();
Assert.True(response.IsSuccess());
//输出信息
_output.WriteLine($"集群名称:{response.ClusterName}");
_output.WriteLine($"集群状态:{response.Status}");
_output.WriteLine($"节点数量:{response.NumberOfNodes}");
_output.WriteLine($"数据节点:{response.NumberOfNodes}");
_output.WriteLine($"索引数量:{response.Indices?.Count ?? 0}");
if (response.Indices != null)
{
foreach (var node in response.Indices)
{
_output.WriteLine($"Key={node.Key},value={node.Value}");
}
}
_output.WriteLine($"ActiveShards{response.ActiveShards}");
_output.WriteLine($"ActivePrimaryShards{response.ActivePrimaryShards}");
_output.WriteLine($"ApiCallDetails{response.ApiCallDetails}");
_output.WriteLine($"错误信息:{response.ElasticsearchServerError}");
_output.WriteLine($"警告信息:{string.Join("", response.ElasticsearchWarnings)}");
}
/// <summary>
/// 节点信息
/// </summary>
[Fact]
public void GetDoc_Test()
{
var tweet = new Tweet
public void Node_Test()
{
Id = 2,
User = "stevejgordon",
PostDate = new DateTime(2009, 11, 15),
Message = "Trying out the client, so far so good?"
};
var response = _client.Info();
var response = _client.Create<Tweet>(tweet, "my-tweet-index",3);
Assert.True(response.IsSuccess());
if (response.IsValidResponse)
{
_output.WriteLine($"Index document with ID {response.Id} succeeded.");
}
//输出信息
_output.WriteLine($"节点名称:{response.Name}");
_output.WriteLine($"集群名称:{response.ClusterName}");
_output.WriteLine($"集群UUID{response.ClusterUuid}");
_output.WriteLine($"ES标语{response.Tagline}");
_output.WriteLine($"版本号:{response.Version.Number}");
_output.WriteLine($"构建风格:{response.Version.BuildFlavor}");
_output.WriteLine($"构建类型:{response.Version.BuildType}");
_output.WriteLine($"构建哈希:{response.Version.BuildHash}");
_output.WriteLine($"构建日期:{response.Version.BuildDate}");
_output.WriteLine($"生成快照:{response.Version.BuildSnapshot}");
_output.WriteLine($"Lucene版本{response.Version.LuceneVersion}");
_output.WriteLine($"最低兼容性版本:{response.Version.MinimumWireCompatibilityVersion}");
_output.WriteLine($"最小索引兼容性版本 {response.Version.MinimumIndexCompatibilityVersion}");
_output.WriteLine($"错误信息:{response.ElasticsearchServerError}");
_output.WriteLine($"警告信息:{string.Join("", response.ElasticsearchWarnings)}");
}
}
}

@ -1 +1,12 @@
global using Xunit;
global using Xunit.Abstractions;
global using Elastic;
global using Elastic.Clients;
global using Elastic.Clients.Elasticsearch;
global using Elastic.Transport;
global using Elastic.Transport.Diagnostics;
global using Elastic.Transport.Extensions;
global using Elastic.Transport.Products;

@ -11,8 +11,8 @@
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
<PackageReference Include="RestSharp" Version="110.1.0" />
<PackageReference Include="RestSharp.Serializers.NewtonsoftJson" Version="110.1.0" />
<PackageReference Include="RestSharp" Version="110.2.0" />
<PackageReference Include="RestSharp.Serializers.NewtonsoftJson" Version="110.2.0" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

@ -1,5 +0,0 @@
### 请求ES集群服务 WebApi
### 首页
GET https://127.0.0.1:9201/
###

@ -0,0 +1,25 @@
#// 通过ES服务WebApi管理ES(单节点ES服务)
#// 对于基本身份认证Authorization: Basic elastic:es-461400这种形式不成功要把 用户名:密码 进行base64编码即可
#// 全局变量
#// ES服务WebAPI网址
@baseUrl = https://127.0.0.1:9200
#//帐号信息elastic:es-461400 的Base64编码值
@account = ZWxhc3RpYzplcy00NjE0MDA=
### ES主页
GET {{baseUrl}}?pretty
Authorization: Basic {{account}}
### 请求ES节点信息
GET {{baseUrl}}/_cat/nodes?v
Content-Type: application/json
Authorization: Basic {{account}}
### ES健康信息
GET {{baseUrl}}/_cat/health?v
Content-Type: application/json
Authorization: Basic {{account}}

@ -0,0 +1,25 @@
#// 请求ES集群服务 WebApi
#// 对于基本身份认证Authorization: Basic elastic:es-461400这种形式不成功要把 用户名:密码 进行base64编码即可
#// 全局变量
#// ES集群WebAPI网址
@baseUrl = https://127.0.0.1:9201
#//帐号信息elastic:es-461400 的Base64编码值
@account = ZWxhc3RpYzplcy00NjE0MDA=
### ES集群主页
GET {{baseUrl}}?pretty
Authorization: Basic {{account}}
### 请求ES集群节点信息
GET {{baseUrl}}/_cat/nodes?v
Content-Type: application/json
Authorization: Basic {{account}}
### ES集群健康信息
GET {{baseUrl}}/_cat/health?v
Content-Type: application/json
Authorization: Basic {{account}}

@ -1,3 +1,7 @@
项目说明
========
`Visual Studio 2022` 内置支持在http扩展名的文件里直接编写与发送HTTP请求。类似于RestClient
`Visual Studio 2022` 内置支持在http和rest扩展名的文件里直接编写与发送HTTP请求。可以理解为 Visual Studio 2022 从17.5开始,内置了`Rest Client`插件, 用法可以参考 `RestClient` 插件。
详情移步:[Github](https://github.com/madskristensen/RestClientVS) 或者 [VS 插件](https://marketplace.visualstudio.com/items?itemName=MadsKristensen.RestClient) 或者 [VS Code插件](https://marketplace.visualstudio.com/items?itemName=humao.rest-client)
## 功能介绍
## 使用方法与概念

@ -11,16 +11,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ElasticSearchStudy.UnitTest
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ElasticSearchStudy.UseHttpAPI", "ElasticSearchStudy.UseHttpAPI\ElasticSearchStudy.UseHttpAPI.csproj", "{9218B8D7-B382-4C16-B060-B1CE2E2F9B47}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ElasticSearchStudy.UseHttpRequestFile", "ElasticSearchStudy.UseHttpRequestFile\ElasticSearchStudy.UseHttpRequestFile.csproj", "{7B0E1527-66DB-45EC-BEFE-83D00723E45E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ElasticSearchStudy.UseHttpRequestFile", "ElasticSearchStudy.UseHttpRequestFile\ElasticSearchStudy.UseHttpRequestFile.csproj", "{7B0E1527-66DB-45EC-BEFE-83D00723E45E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{002B733F-1D54-4975-9AFF-ADE901B7E415}"
ProjectSection(SolutionItems) = preProject
Docs\使用Elastic.Client库管理ES.ipynb = Docs\使用Elastic.Client库管理ES.ipynb
Docs\使用Elastic.Client库管理ES集群.ipynb = Docs\使用Elastic.Client库管理ES集群.ipynb
Docs\使用Elastic.Client管理ES.ipynb = Docs\使用Elastic.Client管理ES.ipynb
Docs\使用RestClient管理ES.http = Docs\使用RestClient管理ES.http
Docs\使用RestClient管理ES集群.http = Docs\使用RestClient管理ES集群.http
Docs\使用RestSharp管理ES.ipynb = Docs\使用RestSharp管理ES.ipynb
Docs\使用RestSharp管理ES集群.ipynb = Docs\使用RestSharp管理ES集群.ipynb
Docs\使用RestSharp管理ES.ipynb = Docs\使用RestSharp管理ES.ipynb
Docs\使用RestSharp管理ES集群.ipynb = Docs\使用RestSharp管理ES集群.ipynb
Docs\部署ES服务.ipynb = Docs\部署ES服务.ipynb
EndProjectSection
EndProject

Loading…
Cancel
Save