Skip to content

Commit c7851d2

Browse files
authored
Fix/6.1 deprecations (#2993)
* bulk uses _routing while valid this produces deprecation warnings as per elastic/elasticsearch#27414 * update deprecated underscore params from more like this and added missing properties * update multi get routing and add support for version/versiontype' * updated term vectors request to include routing/version/version_type * large min and max ngram setting * max difference in shingle size in one test was too large * tests shouldn't use _default_ anymore * update shingle difference to be 2 not 3 due to unigram usage
1 parent 9de6fa9 commit c7851d2

File tree

8 files changed

+87
-18
lines changed

8 files changed

+87
-18
lines changed

src/Nest/Document/Multiple/Bulk/BulkOperation/IBulkOperation.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ public interface IBulkOperation
2020
[JsonProperty("_id")]
2121
Id Id { get; set; }
2222

23-
[JsonProperty("_version")]
23+
[JsonProperty("version")]
2424
long? Version { get; set; }
2525

26-
[JsonProperty("_version_type")]
26+
[JsonProperty("version_type")]
2727
[JsonConverter(typeof(StringEnumConverter))]
2828
VersionType? VersionType { get; set; }
2929

30-
[JsonProperty("_routing")]
30+
[JsonProperty("routing")]
3131
string Routing { get; set; }
3232

33-
[JsonProperty("_parent")]
33+
[JsonProperty("parent")]
3434
Id Parent { get; set; }
3535

3636
[JsonProperty("_timestamp")]
@@ -41,7 +41,7 @@ public interface IBulkOperation
4141
[Obsolete("This feature is no longer supported on indices created in Elasticsearch 5.0.0 and up")]
4242
Time Ttl { get; set; }
4343

44-
[JsonProperty("_retry_on_conflict")]
44+
[JsonProperty("retry_on_conflict")]
4545
int? RetriesOnConflict { get; set; }
4646

4747
object GetBody();

src/Nest/Document/Multiple/MultiGet/Request/IMultiGetOperation.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using Elasticsearch.Net;
23
using Newtonsoft.Json;
34

45
namespace Nest
@@ -19,12 +20,18 @@ public interface IMultiGetOperation
1920
[JsonProperty("stored_fields")]
2021
Fields StoredFields { get; set; }
2122

22-
[JsonProperty("_routing")]
23+
[JsonProperty("routing")]
2324
string Routing { get; set; }
2425

2526
[JsonProperty("_source")]
2627
Union<bool, ISourceFilter> Source { get; set; }
2728

29+
[JsonProperty("version")]
30+
long? Version { get; set; }
31+
32+
[JsonProperty("version_type")]
33+
VersionType? VersionType { get; set; }
34+
2835
Type ClrType { get; }
2936

3037
bool CanBeFlattened { get; }

src/Nest/Document/Multiple/MultiGet/Request/MultiGetOperation.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using Elasticsearch.Net;
23

34
namespace Nest
45
{
@@ -12,6 +13,7 @@ public MultiGetOperation(Id id)
1213
this.Type = typeof(T);
1314
}
1415

16+
public VersionType? VersionType { get; set; }
1517
Type IMultiGetOperation.ClrType => typeof(T);
1618

1719
public IndexName Index { get; set; }
@@ -24,6 +26,8 @@ public MultiGetOperation(Id id)
2426

2527
public Union<bool, ISourceFilter> Source { get; set; }
2628

29+
public long? Version { get; set; }
30+
2731
public string Routing { get; set; }
2832

2933
bool IMultiGetOperation.CanBeFlattened =>
@@ -45,6 +49,8 @@ public class MultiGetOperationDescriptor<T> : DescriptorBase<MultiGetOperationDe
4549
Id IMultiGetOperation.Id { get; set; }
4650
string IMultiGetOperation.Routing { get; set; }
4751
Union<bool, ISourceFilter> IMultiGetOperation.Source { get; set; }
52+
long? IMultiGetOperation.Version { get; set; }
53+
VersionType? IMultiGetOperation.VersionType { get; set; }
4854
Fields IMultiGetOperation.StoredFields { get; set; }
4955
Type IMultiGetOperation.ClrType => typeof(T);
5056

@@ -113,5 +119,9 @@ public MultiGetOperationDescriptor<T> StoredFields(Func<FieldsDescriptor<T>, IPr
113119

114120
public MultiGetOperationDescriptor<T> StoredFields(Fields fields) => Assign(a => a.StoredFields = fields);
115121

122+
public MultiGetOperationDescriptor<T> Version(long? version) => Assign(a => a.Version = version);
123+
124+
public MultiGetOperationDescriptor<T> VersionType(VersionType versionType) => Assign(a => a.VersionType = versionType);
125+
116126
}
117127
}

src/Nest/Document/Multiple/MultiTermVectors/MultiTermVectorOperation.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using Elasticsearch.Net;
23
using Newtonsoft.Json;
34

45
namespace Nest
@@ -28,6 +29,12 @@ public interface IMultiTermVectorOperation
2829
bool? FieldStatistics { get; set; }
2930
[JsonProperty("filter")]
3031
ITermVectorFilter Filter { get; set; }
32+
[JsonProperty("version")]
33+
long? Version { get; set; }
34+
[JsonProperty("version_type")]
35+
VersionType? VersionType { get; set; }
36+
[JsonProperty("routing")]
37+
string Routing { get; set; }
3138
}
3239

3340
public class MultiTermVectorOperation<T> : IMultiTermVectorOperation
@@ -51,6 +58,9 @@ public MultiTermVectorOperation(Id id)
5158
public bool? TermStatistics { get; set; }
5259
public bool? FieldStatistics { get; set; }
5360
public ITermVectorFilter Filter { get; set; }
61+
public long? Version { get; set; }
62+
public VersionType? VersionType { get; set; }
63+
public string Routing { get; set; }
5464
}
5565

5666
public class MultiTermVectorOperationDescriptor<T> : DescriptorBase<MultiTermVectorOperationDescriptor<T>, IMultiTermVectorOperation>, IMultiTermVectorOperation
@@ -67,6 +77,9 @@ public class MultiTermVectorOperationDescriptor<T> : DescriptorBase<MultiTermVec
6777
bool? IMultiTermVectorOperation.TermStatistics { get; set; }
6878
bool? IMultiTermVectorOperation.FieldStatistics { get; set; }
6979
ITermVectorFilter IMultiTermVectorOperation.Filter { get; set; }
80+
long? IMultiTermVectorOperation.Version { get; set; }
81+
VersionType? IMultiTermVectorOperation.VersionType { get; set; }
82+
string IMultiTermVectorOperation.Routing { get; set; }
7083

7184
public MultiTermVectorOperationDescriptor<T> StoredFields(Func<FieldsDescriptor<T>, IPromise<Fields>> fields) =>
7285
Assign(a => a.StoredFields = fields?.Invoke(new FieldsDescriptor<T>())?.Value);
@@ -89,5 +102,11 @@ public MultiTermVectorOperationDescriptor<T> StoredFields(Func<FieldsDescriptor<
89102

90103
public MultiTermVectorOperationDescriptor<T> Filter(Func<TermVectorFilterDescriptor, ITermVectorFilter> filterSelector) =>
91104
Assign(a => a.Filter = filterSelector?.Invoke(new TermVectorFilterDescriptor()));
105+
106+
public MultiTermVectorOperationDescriptor<T> Version(long? version) => Assign(a => a.Version = version);
107+
108+
public MultiTermVectorOperationDescriptor<T> VersionType(VersionType versionType) => Assign(a => a.VersionType = versionType);
109+
110+
public MultiTermVectorOperationDescriptor<T> Routing(string routing) => Assign(a => a.Routing = routing);
92111
}
93112
}

src/Nest/QueryDsl/Specialized/MoreLikeThis/MoreLikeThisQuery.cs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4+
using Elasticsearch.Net;
45
using Newtonsoft.Json;
56

67
namespace Nest
@@ -51,7 +52,21 @@ public interface IMoreLikeThisQuery : IQuery
5152
[JsonProperty("include")]
5253
bool? Include { get; set; }
5354

55+
/// <summary>
56+
/// Provide a different analyzer than the one at the field.
57+
/// This is useful in order to generate term vectors in any fashion, especially when using artificial documents.
58+
/// </summary>
59+
[JsonProperty("per_field_analyzer")]
60+
IPerFieldAnalyzer PerFieldAnalyzer { get; set; }
5461

62+
[JsonProperty("version")]
63+
long? Version { get; set; }
64+
65+
[JsonProperty("version_type")]
66+
VersionType? VersionType { get; set; }
67+
68+
[JsonProperty("routing")]
69+
string Routing { get; set; }
5570
}
5671

5772
public class MoreLikeThisQuery : QueryBase, IMoreLikeThisQuery
@@ -72,6 +87,12 @@ public class MoreLikeThisQuery : QueryBase, IMoreLikeThisQuery
7287
public bool? Include { get; set; }
7388
public IEnumerable<Like> Like { get; set; }
7489
public IEnumerable<Like> Unlike { get; set; }
90+
/// <inheritdoc/>
91+
public IPerFieldAnalyzer PerFieldAnalyzer { get; set; }
92+
93+
public long? Version { get; set; }
94+
public VersionType? VersionType { get; set; }
95+
public string Routing { get; set; }
7596

7697
internal override void InternalWrapInContainer(IQueryContainer c) => c.MoreLikeThis = this;
7798
internal static bool IsConditionless(IMoreLikeThisQuery q) => q.Fields.IsConditionless() || (!q.Like.HasAny() || q.Like.All(Nest.Like.IsConditionless));
@@ -94,6 +115,10 @@ public class MoreLikeThisQueryDescriptor<T>
94115
double? IMoreLikeThisQuery.BoostTerms { get; set; }
95116
string IMoreLikeThisQuery.Analyzer { get; set; }
96117
bool? IMoreLikeThisQuery.Include { get; set; }
118+
IPerFieldAnalyzer IMoreLikeThisQuery.PerFieldAnalyzer { get; set; }
119+
long? IMoreLikeThisQuery.Version { get; set; }
120+
VersionType? IMoreLikeThisQuery.VersionType { get; set; }
121+
string IMoreLikeThisQuery.Routing { get; set; }
97122
IEnumerable<Like> IMoreLikeThisQuery.Like { get; set; }
98123
IEnumerable<Like> IMoreLikeThisQuery.Unlike { get; set; }
99124

@@ -137,5 +162,13 @@ public MoreLikeThisQueryDescriptor<T> Like(Func<LikeDescriptor<T>, IPromise<List
137162
public MoreLikeThisQueryDescriptor<T> Unlike(Func<LikeDescriptor<T>, IPromise<List<Like>>> selector) =>
138163
Assign(a => a.Unlike = selector?.Invoke(new LikeDescriptor<T>())?.Value);
139164

165+
public MoreLikeThisQueryDescriptor<T> PerFieldAnalyzer(Func<PerFieldAnalyzerDescriptor<T>, IPromise<IPerFieldAnalyzer>> analyzerSelector) =>
166+
Assign(a => a.PerFieldAnalyzer = analyzerSelector?.Invoke(new PerFieldAnalyzerDescriptor<T>())?.Value);
167+
168+
public MoreLikeThisQueryDescriptor<T> Version(long? version) => Assign(a => a.Version = version);
169+
170+
public MoreLikeThisQueryDescriptor<T> VersionType(VersionType versionType) => Assign(a => a.VersionType = versionType);
171+
172+
public MoreLikeThisQueryDescriptor<T> Routing(string routing) => Assign(a => a.Routing = routing);
140173
}
141174
}

src/Tests/Analysis/TokenFilters/TokenFilterUsageTests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ public class TokenFilterUsageTests : PromiseUsageTestBase<IIndexSettings, IndexS
157157
{
158158
type = "ngram",
159159
min_gram = 3,
160-
max_gram = 30
160+
max_gram = 4
161161
},
162162
pc = new
163163
{
@@ -183,7 +183,7 @@ public class TokenFilterUsageTests : PromiseUsageTestBase<IIndexSettings, IndexS
183183
{
184184
type = "shingle",
185185
min_shingle_size = 8,
186-
max_shingle_size = 12,
186+
max_shingle_size = 10,
187187
output_unigrams = true,
188188
output_unigrams_if_no_shingles = true,
189189
token_separator = "|",
@@ -352,7 +352,7 @@ public class TokenFilterUsageTests : PromiseUsageTestBase<IIndexSettings, IndexS
352352
.Lowercase("lc")
353353
.NGram("ngram", t => t
354354
.MinGram(3)
355-
.MaxGram(30)
355+
.MaxGram(4)
356356
)
357357
.PatternCapture("pc", t => t
358358
.Patterns(@"\d", @"\w")
@@ -366,7 +366,7 @@ public class TokenFilterUsageTests : PromiseUsageTestBase<IIndexSettings, IndexS
366366
.Reverse("rev")
367367
.Shingle("shing", t => t
368368
.FillerToken("x")
369-
.MaxShingleSize(12)
369+
.MaxShingleSize(10)
370370
.MinShingleSize(8)
371371
.OutputUnigrams()
372372
.OutputUnigramsIfNoShingles()
@@ -506,7 +506,7 @@ public class TokenFilterUsageTests : PromiseUsageTestBase<IIndexSettings, IndexS
506506
{"length", new LengthTokenFilter {Min = 10, Max = 200}},
507507
{"limit", new LimitTokenCountTokenFilter {ConsumeAllTokens = true, MaxTokenCount = 12}},
508508
{"lc", new LowercaseTokenFilter()},
509-
{"ngram", new NGramTokenFilter {MinGram = 3, MaxGram = 30}},
509+
{"ngram", new NGramTokenFilter {MinGram = 3, MaxGram = 4}},
510510
{"pc", new PatternCaptureTokenFilter {Patterns = new[] {@"\d", @"\w"}, PreserveOriginal = true}},
511511
{"pr", new PatternReplaceTokenFilter {Pattern = @"(\d|\w)", Replacement = "replacement"}},
512512
{"porter", new PorterStemTokenFilter()},
@@ -515,7 +515,7 @@ public class TokenFilterUsageTests : PromiseUsageTestBase<IIndexSettings, IndexS
515515
"shing", new ShingleTokenFilter
516516
{
517517
FillerToken = "x",
518-
MaxShingleSize = 12,
518+
MaxShingleSize = 10,
519519
MinShingleSize = 8,
520520
OutputUnigrams = true,
521521
OutputUnigramsIfNoShingles = true,

src/Tests/Indices/IndexSettings/IndexTemplates/PutIndexTemplate/PutIndexTemplateApiTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ protected override LazyResponses ClientUsage() => Calls(
3737
settings = new Dictionary<string, object> { { "index.number_of_shards", 1 } },
3838
mappings = new
3939
{
40-
_default_ = new
40+
doc = new
4141
{
4242
dynamic_templates = new object[]
4343
{
@@ -67,7 +67,7 @@ protected override LazyResponses ClientUsage() => Calls(
6767
.Create(false)
6868
.Settings(p=>p.NumberOfShards(1))
6969
.Mappings(m => m
70-
.Map("_default_", tm => tm
70+
.Map("doc", tm => tm
7171
.DynamicTemplates(t => t
7272
.DynamicTemplate("base", dt => dt
7373
.Match("*")
@@ -96,7 +96,7 @@ protected override LazyResponses ClientUsage() => Calls(
9696
},
9797
Mappings = new Mappings
9898
{
99-
{ "_default_", new TypeMapping
99+
{ "doc", new TypeMapping
100100
{
101101
DynamicTemplates = new DynamicTemplateContainer
102102
{

src/Tests/Mapping/Types/SingleMappingPropertyTestsBase.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ protected override LazyResponses ClientUsage() => Calls(
3434
settings = new Dictionary<string, object> { { "index.number_of_shards", 1 } },
3535
mappings = new
3636
{
37-
_default_ = new
37+
doc = new
3838
{
3939
dynamic_templates = new object[]
4040
{
@@ -61,7 +61,7 @@ protected override LazyResponses ClientUsage() => Calls(
6161
.Create(false)
6262
.Settings(p=>p.NumberOfShards(1))
6363
.Mappings(m => m
64-
.Map("_default_", tm => tm
64+
.Map("doc", tm => tm
6565
.DynamicTemplates(t => t
6666
.DynamicTemplate("base", dt => dt
6767
.Match("*")
@@ -86,7 +86,7 @@ protected override LazyResponses ClientUsage() => Calls(
8686
},
8787
Mappings = new Mappings
8888
{
89-
{ "_default_", new TypeMapping
89+
{ "doc", new TypeMapping
9090
{
9191
DynamicTemplates = new DynamicTemplateContainer
9292
{

0 commit comments

Comments
 (0)