diff --git a/Docs/使用Elastic.Client库管理ES.ipynb b/Docs/使用Elastic.Client库管理ES.ipynb
deleted file mode 100644
index 37c8d5a..0000000
--- a/Docs/使用Elastic.Client库管理ES.ipynb
+++ /dev/null
@@ -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
-}
diff --git a/Docs/使用Elastic.Client库管理ES集群.ipynb b/Docs/使用Elastic.Client库管理ES集群.ipynb
index 74c9b4f..f6ca7e9 100644
--- a/Docs/使用Elastic.Client库管理ES集群.ipynb
+++ b/Docs/使用Elastic.Client库管理ES集群.ipynb
@@ -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": [
+ "
Restore sources- https://api.nuget.org/v3/index.json
"
+ ]
+ },
+ "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": {
diff --git a/Docs/使用RestSharp管理ES.ipynb b/Docs/使用Elastic.Client管理ES.ipynb
similarity index 100%
rename from Docs/使用RestSharp管理ES.ipynb
rename to Docs/使用Elastic.Client管理ES.ipynb
diff --git a/Docs/使用RestClient管理ES.http b/Docs/使用RestClient管理ES.http
index 102275a..c9cbcbe 100644
--- a/Docs/使用RestClient管理ES.http
+++ b/Docs/使用RestClient管理ES.http
@@ -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}}
diff --git a/Docs/使用RestClient管理ES集群.http b/Docs/使用RestClient管理ES集群.http
index 1f54509..5ba47c3 100644
--- a/Docs/使用RestClient管理ES集群.http
+++ b/Docs/使用RestClient管理ES集群.http
@@ -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}}
diff --git a/Docs/使用RestSharp库管理ES.ipynb b/Docs/使用RestSharp库管理ES.ipynb
new file mode 100644
index 0000000..e92b75d
--- /dev/null
+++ b/Docs/使用RestSharp库管理ES.ipynb
@@ -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
+}
diff --git a/Docs/使用RestSharp库管理ES集群.ipynb b/Docs/使用RestSharp库管理ES集群.ipynb
new file mode 100644
index 0000000..4f21d06
--- /dev/null
+++ b/Docs/使用RestSharp库管理ES集群.ipynb
@@ -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
+}
diff --git a/Docs/使用RestSharp管理ES集群.ipynb b/Docs/使用RestSharp管理ES集群.ipynb
deleted file mode 100644
index 2c68f75..0000000
--- a/Docs/使用RestSharp管理ES集群.ipynb
+++ /dev/null
@@ -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
-}
diff --git a/ElasticSearchStudy.App/ElasticSearchStudy.App.csproj b/ElasticSearchStudy.App/ElasticSearchStudy.App.csproj
index c855518..26d7238 100644
--- a/ElasticSearchStudy.App/ElasticSearchStudy.App.csproj
+++ b/ElasticSearchStudy.App/ElasticSearchStudy.App.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/ElasticSearchStudy.Core/ElasticSearchStudy.Core.csproj b/ElasticSearchStudy.Core/ElasticSearchStudy.Core.csproj
index 2551831..b4b43f4 100644
--- a/ElasticSearchStudy.Core/ElasticSearchStudy.Core.csproj
+++ b/ElasticSearchStudy.Core/ElasticSearchStudy.Core.csproj
@@ -5,9 +5,4 @@
enable
-
-
-
-
-
diff --git a/ElasticSearchStudy.UnitTest/ElasticSearchStudy.UnitTest.csproj b/ElasticSearchStudy.UnitTest/ElasticSearchStudy.UnitTest.csproj
index bc88a98..a6a980c 100644
--- a/ElasticSearchStudy.UnitTest/ElasticSearchStudy.UnitTest.csproj
+++ b/ElasticSearchStudy.UnitTest/ElasticSearchStudy.UnitTest.csproj
@@ -10,13 +10,14 @@
-
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
diff --git a/ElasticSearchStudy.UnitTest/UseElasticSearchTest.cs b/ElasticSearchStudy.UnitTest/UseElasticSearchTest.cs
index 8408319..535f92b 100644
--- a/ElasticSearchStudy.UnitTest/UseElasticSearchTest.cs
+++ b/ElasticSearchStudy.UnitTest/UseElasticSearchTest.cs
@@ -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);
}
+ ///
+ /// ESҳ
+ ///
[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());
}
+ ///
+ /// ȺϢ
+ ///
[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)}");
}
+ ///
+ /// ڵϢ
+ ///
[Fact]
- public void GetDoc_Test()
+ public void Node_Test()
{
- var tweet = new Tweet
- {
- 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, "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)}");
}
}
}
\ No newline at end of file
diff --git a/ElasticSearchStudy.UnitTest/Usings.cs b/ElasticSearchStudy.UnitTest/Usings.cs
index 8c927eb..a807132 100644
--- a/ElasticSearchStudy.UnitTest/Usings.cs
+++ b/ElasticSearchStudy.UnitTest/Usings.cs
@@ -1 +1,12 @@
-global using Xunit;
\ No newline at end of file
+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;
diff --git a/ElasticSearchStudy.UseHttpAPI/ElasticSearchStudy.UseHttpAPI.csproj b/ElasticSearchStudy.UseHttpAPI/ElasticSearchStudy.UseHttpAPI.csproj
index 85d796c..427221d 100644
--- a/ElasticSearchStudy.UseHttpAPI/ElasticSearchStudy.UseHttpAPI.csproj
+++ b/ElasticSearchStudy.UseHttpAPI/ElasticSearchStudy.UseHttpAPI.csproj
@@ -11,8 +11,8 @@
-
-
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/ElasticSearchStudy.UseHttpRequestFile/ClusterES.http b/ElasticSearchStudy.UseHttpRequestFile/ClusterES.http
deleted file mode 100644
index c97cbdd..0000000
--- a/ElasticSearchStudy.UseHttpRequestFile/ClusterES.http
+++ /dev/null
@@ -1,5 +0,0 @@
-### 请求ES集群服务 WebApi
-### 首页
-GET https://127.0.0.1:9201/
-
-###
diff --git a/ElasticSearchStudy.UseHttpRequestFile/ES服务管理.http b/ElasticSearchStudy.UseHttpRequestFile/ES服务管理.http
new file mode 100644
index 0000000..b224779
--- /dev/null
+++ b/ElasticSearchStudy.UseHttpRequestFile/ES服务管理.http
@@ -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}}
diff --git a/ElasticSearchStudy.UseHttpRequestFile/ES集群服务管理.http b/ElasticSearchStudy.UseHttpRequestFile/ES集群服务管理.http
new file mode 100644
index 0000000..719a186
--- /dev/null
+++ b/ElasticSearchStudy.UseHttpRequestFile/ES集群服务管理.http
@@ -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}}
diff --git a/ElasticSearchStudy.UseHttpRequestFile/说明.md b/ElasticSearchStudy.UseHttpRequestFile/说明.md
index 322b7a1..2cffd30 100644
--- a/ElasticSearchStudy.UseHttpRequestFile/说明.md
+++ b/ElasticSearchStudy.UseHttpRequestFile/说明.md
@@ -1,3 +1,7 @@
项目说明
========
-`Visual Studio 2022` 内置支持:在http扩展名的文件里,直接编写与发送HTTP请求。类似于RestClient
\ No newline at end of file
+`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)
+## 功能介绍
+
+## 使用方法与概念
diff --git a/ElasticSearchStudy.sln b/ElasticSearchStudy.sln
index 31e79fb..a82cce3 100644
--- a/ElasticSearchStudy.sln
+++ b/ElasticSearchStudy.sln
@@ -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