|
|
|
|
|
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://127.0.0.1:9201"))
|
|
|
.CertificateFingerprint("e57ce099af49fb34742cddffe1271c4ed709ef29649537fe89e6bee32728444d")
|
|
|
.Authentication(new BasicAuthentication("elastic", "es-461400"));
|
|
|
|
|
|
_client = new ElasticsearchClient(elasticSetting);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 请求ES服务主页
|
|
|
/// </summary>
|
|
|
[Fact]
|
|
|
public void Ping_Test()
|
|
|
{
|
|
|
var pingResponse = _client.Ping();
|
|
|
|
|
|
if (pingResponse.IsSuccess())
|
|
|
{
|
|
|
_output.WriteLine($"请求成功,{pingResponse.DebugInformation}");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
_output.WriteLine("请求失败");
|
|
|
}
|
|
|
|
|
|
Assert.True(pingResponse.IsSuccess());
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 集群健康信息
|
|
|
/// </summary>
|
|
|
[Fact]
|
|
|
public void Health_Test()
|
|
|
{
|
|
|
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 Node_Test()
|
|
|
{
|
|
|
var response = _client.Info();
|
|
|
|
|
|
Assert.True(response.IsSuccess());
|
|
|
|
|
|
//输出信息
|
|
|
_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)}");
|
|
|
}
|
|
|
}
|
|
|
} |