You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
3.2 KiB
C#

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 ITestOutputHelper _output;
public UseElasticSearchTest(ITestOutputHelper outputHelper)
{
_output = outputHelper;
}
[Fact]
public void Test()
{
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"));
ElasticsearchClient client = new ElasticsearchClient(elasticSetting);
var pingResponse = client.Ping();
if (pingResponse.IsSuccess())
{
_output.WriteLine($"ÇëÇó³É¹¦,{pingResponse.DebugInformation}");
}
else
{
_output.WriteLine("ÇëÇóʧ°Ü");
}
Assert.True(pingResponse.IsSuccess());
}
[Fact]
public void CreateIndex_Test()
{
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"))
;
ElasticsearchClient client = new ElasticsearchClient(elasticSetting);
var tweet = new Tweet
{
Id = 1,
User = "stevejgordon",
PostDate = DateTime.Now,
Message = "Trying out the client, so far so good?"
};
var response = client.Index(tweet, "tweet-index");
if (response.IsValidResponse)
{
Console.WriteLine($"Index document with ID {response.Id} succeeded.");
}
}
[Fact]
public void GetDoc_Test()
{
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"));
ElasticsearchClient client = new ElasticsearchClient(elasticSetting);
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>(tweet, "my-tweet-index",3);
if (response.IsValidResponse)
{
_output.WriteLine($"Index document with ID {response.Id} succeeded.");
}
}
}
}