From 17cf9ea8dcc97d3354fdfafd6feadc6dc66667e3 Mon Sep 17 00:00:00 2001 From: bicijinlian Date: Wed, 12 Apr 2023 17:43:28 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0=20?= =?UTF-8?q?feat:=20=E9=A1=B9=E7=9B=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Docs/使用Elastic.Client库管理ES.ipynb | 37 ---- ...用Elastic.Client库管理ES集群.ipynb | 43 ++++ ...ynb => 使用Elastic.Client管理ES.ipynb} | 0 Docs/使用RestClient管理ES.http | 15 +- Docs/使用RestClient管理ES集群.http | 17 +- Docs/使用RestSharp库管理ES.ipynb | 198 ++++++++++++++++++ Docs/使用RestSharp库管理ES集群.ipynb | 198 ++++++++++++++++++ Docs/使用RestSharp管理ES集群.ipynb | 37 ---- .../ElasticSearchStudy.App.csproj | 2 +- .../ElasticSearchStudy.Core.csproj | 5 - .../ElasticSearchStudy.UnitTest.csproj | 5 +- .../UseElasticSearchTest.cs | 82 +++++--- ElasticSearchStudy.UnitTest/Usings.cs | 13 +- .../ElasticSearchStudy.UseHttpAPI.csproj | 4 +- .../ClusterES.http | 5 - .../ES服务管理.http | 25 +++ .../ES集群服务管理.http | 25 +++ .../说明.md | 6 +- ElasticSearchStudy.sln | 8 +- 19 files changed, 590 insertions(+), 135 deletions(-) delete mode 100644 Docs/使用Elastic.Client库管理ES.ipynb rename Docs/{使用RestSharp管理ES.ipynb => 使用Elastic.Client管理ES.ipynb} (100%) create mode 100644 Docs/使用RestSharp库管理ES.ipynb create mode 100644 Docs/使用RestSharp库管理ES集群.ipynb delete mode 100644 Docs/使用RestSharp管理ES集群.ipynb delete mode 100644 ElasticSearchStudy.UseHttpRequestFile/ClusterES.http create mode 100644 ElasticSearchStudy.UseHttpRequestFile/ES服务管理.http create mode 100644 ElasticSearchStudy.UseHttpRequestFile/ES集群服务管理.http 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