diff --git a/Elasticsearch.sln b/Elasticsearch.sln index e572b1a4ad..eb662beed7 100644 --- a/Elasticsearch.sln +++ b/Elasticsearch.sln @@ -25,8 +25,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Benchmarks", "benchmarks\Benchmarks\Benchmarks.csproj", "{701DB05B-1F1B-485F-9EDF-0274EED4FF9F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlaygroundV7x", "src\PlaygroundV7x\PlaygroundV7x.csproj", "{7141AB85-10C5-42AE-8FC7-B14A4216A89F}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Profiling", "benchmarks\Profiling\Profiling.csproj", "{5222D7CD-3663-49ED-98EA-4B5ECDF705BF}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D9FFF81B-26F3-4A26-9605-E3D22382E9A5}" @@ -61,7 +59,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elastic.Clients.Elasticsear EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elastic.Clients.Elasticsearch.Serverless", "src\Elastic.Clients.Elasticsearch.Serverless\Elastic.Clients.Elasticsearch.Serverless.csproj", "{49D7F5A7-AA32-492B-B957-0E3325861F55}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "tests\Tests\Tests.csproj", "{6FD804B2-CE80-41CB-A411-2023F34C18FE}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests", "tests\Tests\Tests.csproj", "{6FD804B2-CE80-41CB-A411-2023F34C18FE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -89,10 +87,6 @@ Global {701DB05B-1F1B-485F-9EDF-0274EED4FF9F}.Debug|Any CPU.Build.0 = Debug|Any CPU {701DB05B-1F1B-485F-9EDF-0274EED4FF9F}.Release|Any CPU.ActiveCfg = Release|Any CPU {701DB05B-1F1B-485F-9EDF-0274EED4FF9F}.Release|Any CPU.Build.0 = Release|Any CPU - {7141AB85-10C5-42AE-8FC7-B14A4216A89F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7141AB85-10C5-42AE-8FC7-B14A4216A89F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7141AB85-10C5-42AE-8FC7-B14A4216A89F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7141AB85-10C5-42AE-8FC7-B14A4216A89F}.Release|Any CPU.Build.0 = Release|Any CPU {5222D7CD-3663-49ED-98EA-4B5ECDF705BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5222D7CD-3663-49ED-98EA-4B5ECDF705BF}.Debug|Any CPU.Build.0 = Debug|Any CPU {5222D7CD-3663-49ED-98EA-4B5ECDF705BF}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -131,7 +125,6 @@ Global {587DE66B-6FAB-4722-9C53-2812BEFB6A44} = {362B2776-4B29-46AB-B237-56776B5372B6} {0B4DCA79-10CC-4CB8-95D3-A4EB8C98BE1C} = {362B2776-4B29-46AB-B237-56776B5372B6} {701DB05B-1F1B-485F-9EDF-0274EED4FF9F} = {B7B8819B-3197-4AB6-B61B-9E1BFD1EC302} - {7141AB85-10C5-42AE-8FC7-B14A4216A89F} = {D455EC79-E1E0-4509-B297-0DA3AED8DFF7} {5222D7CD-3663-49ED-98EA-4B5ECDF705BF} = {B7B8819B-3197-4AB6-B61B-9E1BFD1EC302} {F8A7E60C-0C48-4D76-AF7F-7881DF5A263D} = {D455EC79-E1E0-4509-B297-0DA3AED8DFF7} {68D1BFDC-F447-4D2C-AF81-537807636610} = {1FE49D14-216A-41EE-A177-E42BFF53E0DC} diff --git a/global.json b/global.json index dd00ed4b0a..ba6f11ac9f 100644 --- a/global.json +++ b/global.json @@ -1,10 +1,7 @@ { "sdk": { - "version": "8.0.100", - "rollForward": "minor", + "version": "8.0.400", + "rollForward": "latestFeature", "allowPrerelease": false - }, - "version": "8.8.0-alpha.1", - "doc_current": "main", - "doc_branch": "main" + } } \ No newline at end of file diff --git a/nuget.config b/nuget.config index 970956d320..35b53bd113 100644 --- a/nuget.config +++ b/nuget.config @@ -1,8 +1,13 @@ - + + - - - + + + + + + + \ No newline at end of file diff --git a/src/Elastic.Clients.Elasticsearch/_Shared/Elastic.Clients.Elasticsearch.Shared.csproj b/src/Elastic.Clients.Elasticsearch/_Shared/Elastic.Clients.Elasticsearch.Shared.csproj deleted file mode 100644 index 3f2458a185..0000000000 --- a/src/Elastic.Clients.Elasticsearch/_Shared/Elastic.Clients.Elasticsearch.Shared.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - Elastic.Clients.Elasticsearch - Elastic.Clients.Elasticsearch - Official Elasticsearch .NET Client - elasticsearch;elastic;client;search - - This strongly-typed, client library enables working with Elasticsearch. It is the official client maintained and supported by Elastic. - - true - README.md - - - false - true - net8.0 - true - true - annotations - - - - - - all - runtime; build; native; contentfiles; analyzers - - - diff --git a/src/Playground/Playground.csproj b/src/Playground/Playground.csproj index 1a2bb70971..5ec71553f8 100644 --- a/src/Playground/Playground.csproj +++ b/src/Playground/Playground.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net8.0 enable enable @@ -15,7 +15,6 @@ - diff --git a/src/PlaygroundV7x/Person.cs b/src/PlaygroundV7x/Person.cs deleted file mode 100644 index 391566f4cd..0000000000 --- a/src/PlaygroundV7x/Person.cs +++ /dev/null @@ -1,31 +0,0 @@ -// Licensed to Elasticsearch B.V under one or more agreements. -// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. -// See the LICENSE file in the project root for more information. - -using System; -using Nest; - -namespace PlaygroundV7x -{ - public class Person - { - public int Id { get; set; } - - public Guid SecondaryId { get; set; } = Guid.NewGuid(); - public string? FirstName { get; init; } - public string? LastName { get; init; } - public int? Age { get; init; } - //public Routing? Routing { get; init; } - - public Id Idv3 => "testing"; - //public Guid Routing { get; init; } = Guid.NewGuid(); - - public string? Email { get; init; } - - public string Data { get; init; } = "NOTHING"; - - public DateTime Date { get; set; } - - public Guid Guid { get; set; } - } -} diff --git a/src/PlaygroundV7x/PlaygroundV7x.csproj b/src/PlaygroundV7x/PlaygroundV7x.csproj deleted file mode 100644 index f84729f7a5..0000000000 --- a/src/PlaygroundV7x/PlaygroundV7x.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - net6.0 - enable - - - - - - - diff --git a/src/PlaygroundV7x/Program.cs b/src/PlaygroundV7x/Program.cs deleted file mode 100644 index 9121aef508..0000000000 --- a/src/PlaygroundV7x/Program.cs +++ /dev/null @@ -1,263 +0,0 @@ -// Licensed to Elasticsearch B.V under one or more agreements. -// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections.Generic; -using Elasticsearch.Net; -using Nest; - -namespace PlaygroundV7x -{ - internal class Program - { - private static readonly IElasticClient Client = - new ElasticClient(new ConnectionSettings(new InMemoryConnection(Array.Empty(), 502, null, null)) - .DefaultIndex("index") - .EnableHttpCompression(false) - ); - - private static void Main() - { - var things = new List() { "a" }; - - var bulkAll = Client.BulkAll(things, r => r - .BackOffRetries(0) // Number of document retries. Can set this to zero to never retry - .BackOffTime("30s") // Time to wait between retries - .RetryDocumentPredicate((bulkResponseItem, logEntry) => false) // Decide if a document should be retried in the event of a failure. - // The default behaviour is to retry only if bulkResponseItem.Status == 429. - // This can be overridden by providing a more specific delegate, or opting to never retry failed operations. - .ContinueAfterDroppedDocuments() // Continue indexing remaining items from the IEnumerable of documents even after some are dropped. - .DroppedDocumentCallback((bulkResponseItem, logEntry) => // If a document cannot be indexed this delegate is called - { - Console.WriteLine($"{bulkResponseItem.Status} : {bulkResponseItem.Error.Reason}"); // Access operation failure information for the document - }) - .MaxDegreeOfParallelism(4) - .Size(1000)); - - try - { - bulkAll.Wait(TimeSpan.FromMinutes(10), r => Console.WriteLine("Data indexed")); - } - catch (ElasticsearchClientException ex) when (ex.Response is not null) - { - if (ex.Response.HttpStatusCode.HasValue) - { - HandleStatusCode(ex.Response.HttpStatusCode); - } - else if (ex.Response.OriginalException is ElasticsearchClientException esException && esException.FailureReason == PipelineFailure.FailedProductCheck) - { - HandleStatusCode(esException.Response?.HttpStatusCode); - } - } - - static void HandleStatusCode(int? statusCode) - { - if (statusCode.HasValue) - { - switch (statusCode.Value) - { - case 404: - Console.WriteLine("404"); // handle as required - break; - - case 410: - Console.WriteLine("410"); - break; - - // etc. - } - } - } - - - -// var aggs = new AggregationDictionary -// { -// { "startDates", new TermsAggregation("startDates") { Field = "startedOn" } }, -// { "endDates", new DateHistogramAggregation("endDates") { Field = "endedOn" } } -// }; - -// var a = new SearchRequest() -// { -// From = 10, -// Size = 20, -// Query = new Query(new MatchAllQuery()), -// Aggregations = aggs, -// PostFilter = new Query(new TermQuery -// { -// Field = "state", -// Value = "Stable" -// }) -// }; - -// var client = new ElasticClient(new ConnectionSettings(new InMemoryTransportClient()) -// .DefaultIndex("default-index") -// //.DefaultMappingFor(m => m -// //.DisableIdInference() -// //.IndexName("people")) -// //.IdProperty(id => id.SecondaryId) -// //.RoutingProperty(id => id.SecondaryId) -// //.RelationName("relation")) -// //.DefaultFieldNameInferrer(s => $"{s}_2") -// .EnableDebugMode()); - - -// var createIndexResponse = await client.Indices.CreateAsync("aa", i => i -// .Map(m => m.Properties(p => p.Boolean(b => b)))); - - - -// var filterResponse = await client.SearchAsync(s => s -// .Query(q => q -// .Bool(b => b -// .Filter( -// f => f.Term(t => t.Field(f => f.Age).Value(37)), -// f => f.Term(t => t.Field(f => f.FirstName).Value("Steve")) -// )))); - -// var person = new Person { Id = 101, FirstName = "Steve", LastName = "Gordon", Age = 37, Email = "sgordon@example.com" }; - -// var routingResponse = await client.IndexAsync(person, r => r); - -// client.Update("a", d => d.Index("test").Script(s => s.Source("script").Params(new Dictionary { { "null", new Person { FirstName = null, LastName = "test-surname" } } }))); - -// var people = new List() -// { -// new Person{ FirstName = "Steve", LastName = "Gordon"}, -// new Person{ FirstName = "Steve", LastName = "Gordon"}, -// new Person{ FirstName = "Steve", LastName = "Gordon"}, -// new Person{ FirstName = "Steve", LastName = "Gordon"}, -// new Person{ FirstName = "Steve", LastName = "Gordon"}, -// }; - -// //using var bulk = client.BulkAll(people, r => r.Index("testing-v7")); -// //var result = bulk.Wait(TimeSpan.FromSeconds(60), a => { Console.WriteLine(a.Items.Count); }); -// //var a1 = result.TotalNumberOfRetries; -// //var b1 = result.TotalNumberOfFailedBuffers; - -// using var bulk2 = client.BulkAll(people, r => r); -// var result2 = bulk2.Wait(TimeSpan.FromSeconds(60), a => { Console.WriteLine(a.Items.Count); }); -// var a12 = result2.TotalNumberOfRetries; -// var b12 = result2.TotalNumberOfFailedBuffers; - -// //var responseBulk = client.Bulk(new BulkRequest -// //{ -// // Operations = new List -// //{ -// // new BulkIndexOperation(new Person()) { Index = "people" } , -// // new BulkIndexOperation(new Person()) { Index = "people", IfSequenceNumber = -1, IfPrimaryTerm = 0 } -// //} -// //}); - -// var response = client.Index(new Person(), e => e.Index("test")); - -// var settingsResponse = await client.Indices.CreateAsync("a", i => i.Settings(s => s.Analysis(a => a.TokenFilters(tf => tf -// .Shingle("my-shingle", s => s.MinShingleSize(2)) -// .Snowball("my_snowball", s => s.Version("v1")))))); - -// //var c1 = new ElasticClient(new ConnectionSettings(new Uri("https://azure.es.eastus.azure.elastic-cloud.com:9243")).BasicAuthentication("a", "b").ThrowExceptions()); - -// //var r1 = await c1.PingAsync(); - - - - -//#pragma warning disable IDE0039 // Use local function -// Func, IBoolQuery> test = b => b.Name("thing"); -//#pragma warning restore IDE0039 // Use local function - -// static IBoolQuery TestBoolQuery(BoolQueryDescriptor b) => b.Name("thing"); - -// var thing = Query.Bool(test); -// thing = Query.Bool(TestBoolQuery); - -// var matchQueryOne = Query.Match(m => m.Field(f => f.FirstName).Query("Steve")); -// var matchQueryTwo = new Query(new MatchQuery() { Field = Infer.Field(f => f.FirstName), Query = "Steve" }); -// var matchQueryThree = new QueryDescriptor().Match(m => m.Field(f => f.FirstName).Query("Steve")); - - -// //var a = client.IndexMany(new Person[0] { }, a => a.) - -// var matchAll = new Query(new MatchAllQuery() { Name = "test_query", IsVerbatim = true }); -// //var filter = Query.Bool(b => b.Filter(f => f.Match(m => m.Field(fld => fld.FirstName).Query("Steve").Name("test_match")))); -// var boolQuery = new Query(new BoolQuery() { Filter = new[] { new Query(new MatchQuery() { Name = "test_match", Field = "firstName", Query = "Steve" }) } }); - -// var spanQuery = new Query(new SpanContainingQuery() -// { -// Big = new SpanQuery() -// { -// //SpanTerm = new SpanTermQuery { Field = "test", Value = "foo", Name = "span_term_name" }, -// SpanNear = new SpanNearQuery -// { -// Slop = 5, -// InOrder = true, -// Clauses = new ISpanQuery[] -// { -// new SpanQuery() { SpanTerm = new SpanTermQuery { Field = "test", Value = "bar", Name = "span_term_inner_name_1" } }, -// new SpanQuery() { SpanTerm = new SpanTermQuery { Field = "test", Value = "baz", Name = "span_term_inner_name_2" } }, -// } -// } -// } -// }); - -// spanQuery = new Query(new SpanNearQuery() -// { -// Clauses = new[] { new SpanQuery() { SpanGap = new SpanGapQuery() { Field = "test", Width = 10 } } } -// }); - -// //var spanQueryRaw = new SpanQuery() -// //{ -// // SpanFirst = new SpanFirstQuery(), -// // SpanContaining = new SpanContainingQuery() -// //}; - -// var search = new SearchRequest() -// { -// Query = spanQuery -// }; - -// _ = await client.SearchAsync(new SearchDescriptor()); -// _ = await client.CountAsync(new CountDescriptor()); - -// //var response = await client.SearchAsync(search); - -// var r = await client.Indices.CreateAsync("", c => c.Settings(s => s.Analysis(a => a.CharFilters(cf => cf -// .HtmlStrip("name", h => h) -// .PatternReplace("name-2", p => p))))); - -// //var indexName = Guid.NewGuid().ToString(); - -// //// Create an index -// //var createResponse = await client.Indices.CreateAsync(new CreateIndexRequest(indexName) -// //{ -// // Mappings = new TypeMapping -// // { -// // DateDetection = false, -// // Properties = new Properties -// // { -// // {"age", new NumberProperty(NumberType.Integer)}, -// // {"name", new TextProperty()}, -// // {"email", new KeywordProperty()} -// // }, -// // Meta = new Dictionary() -// // { -// // { "foo", "bar" } -// // } -// // } -// //}); - -// //var intervalsQuery = new IntervalsQuery() -// //{ -// // Match = new IntervalsMatch() -// // { - -// // }, -// // AllOf = new IntervalsAllOf() -// // { - -// // } -// //} - } - } -} diff --git a/tests/Tests.Core/Tests.Core.csproj b/tests/Tests.Core/Tests.Core.csproj index e67dc3a2ef..cbeb2a733c 100644 --- a/tests/Tests.Core/Tests.Core.csproj +++ b/tests/Tests.Core/Tests.Core.csproj @@ -1,4 +1,4 @@ - + netstandard2.1 True