|
|
|
|
|
|
|
|
|
using Elastic.Clients.Elasticsearch.IndexManagement;
|
|
|
|
|
|
|
|
|
|
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"))
|
|
|
|
|
//.DefaultIndex("student")
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
_client = new ElasticsearchClient(elasticSetting);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD>ES<45><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Fact]
|
|
|
|
|
public void Ping_Test()
|
|
|
|
|
{
|
|
|
|
|
var pingResponse = _client.Ping();
|
|
|
|
|
|
|
|
|
|
if (pingResponse.IsSuccess())
|
|
|
|
|
{
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>,{pingResponse.DebugInformation}");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
_output.WriteLine("<22><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Assert.True(pingResponse.IsSuccess());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Fact]
|
|
|
|
|
public void Health_Test()
|
|
|
|
|
{
|
|
|
|
|
var response = _client.Cluster.Health();
|
|
|
|
|
|
|
|
|
|
Assert.True(response.IsSuccess());
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
_output.WriteLine($"<22><>Ⱥ<EFBFBD><C8BA><EFBFBD>ƣ<EFBFBD>{response.ClusterName}");
|
|
|
|
|
_output.WriteLine($"<22><>Ⱥ״̬<D7B4><CCAC>{response.Status}");
|
|
|
|
|
_output.WriteLine($"<22>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{response.NumberOfNodes}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD>ݽڵ㣺{response.NumberOfNodes}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{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<64><73>{response.ActiveShards}");
|
|
|
|
|
_output.WriteLine($"ActivePrimaryShards<64><73>{response.ActivePrimaryShards}");
|
|
|
|
|
_output.WriteLine($"ApiCallDetails<6C><73>{response.ApiCallDetails}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>{response.ElasticsearchServerError}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>{string.Join("", response.ElasticsearchWarnings)}");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20>ڵ<EFBFBD><DAB5><EFBFBD>Ϣ
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Fact]
|
|
|
|
|
public void Node_Test()
|
|
|
|
|
{
|
|
|
|
|
var response = _client.Info();
|
|
|
|
|
|
|
|
|
|
Assert.True(response.IsSuccess());
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
_output.WriteLine($"<22>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ƣ<EFBFBD>{response.Name}");
|
|
|
|
|
_output.WriteLine($"<22><>Ⱥ<EFBFBD><C8BA><EFBFBD>ƣ<EFBFBD>{response.ClusterName}");
|
|
|
|
|
_output.WriteLine($"<22><>ȺUUID<49><44>{response.ClusterUuid}");
|
|
|
|
|
_output.WriteLine($"ES<45><53><EFBFBD>{response.Tagline}");
|
|
|
|
|
_output.WriteLine($"<22>汾<EFBFBD>ţ<EFBFBD>{response.Version.Number}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{response.Version.BuildFlavor}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>{response.Version.BuildType}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3>{response.Version.BuildHash}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>{response.Version.BuildDate}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD>ɿ<EFBFBD><C9BF>գ<EFBFBD>{response.Version.BuildSnapshot}");
|
|
|
|
|
_output.WriteLine($"Lucene<6E>汾<EFBFBD><E6B1BE>{response.Version.LuceneVersion}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>汾<D4B0><E6B1BE>{response.Version.MinimumWireCompatibilityVersion}");
|
|
|
|
|
_output.WriteLine($"<22><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾 <20><>{response.Version.MinimumIndexCompatibilityVersion}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>{response.ElasticsearchServerError}");
|
|
|
|
|
_output.WriteLine($"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>{string.Join("", response.ElasticsearchWarnings)}");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>student<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Fact]
|
|
|
|
|
public void AddDocument_Test()
|
|
|
|
|
{
|
|
|
|
|
var stu = new Student()
|
|
|
|
|
{
|
|
|
|
|
Name = "Test",
|
|
|
|
|
Age =55,
|
|
|
|
|
School = "̫<><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
|
|
|
|
Grade = "<22><>һ<EFBFBD><D2BB>",
|
|
|
|
|
Address ="̫<><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD><CEAF><EFBFBD><EFBFBD>¥xxx"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var request = new IndexRequest<Student>(document: stu,index: "student");
|
|
|
|
|
|
|
|
|
|
var response = _client.Index(request);
|
|
|
|
|
|
|
|
|
|
Assert.True(response.IsSuccess());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|