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 { public class UseElasticSearchTest { private readonly ITestOutputHelper _output; private readonly ElasticsearchClient _client; public UseElasticSearchTest(ITestOutputHelper outputHelper) { _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")); _client = new ElasticsearchClient(elasticSetting); } [Fact] public void ES_Ping_Test() { var pingResponse = _client.Ping(); if (pingResponse.IsSuccess()) { _output.WriteLine($"ΗλΗσ³ΙΉ¦,{pingResponse.DebugInformation}"); } else { _output.WriteLine("ΗλΗσΚ§°ά"); } Assert.True(pingResponse.IsSuccess()); } [Fact] public void CreateIndex_Test() { _client.Ping(); var dd = _client.Cluster; } [Fact] public void GetDoc_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.Create(tweet, "my-tweet-index",3); if (response.IsValidResponse) { _output.WriteLine($"Index document with ID {response.Id} succeeded."); } } } }