Skip to content

Commit 05ac23d

Browse files
Nick PetersonMpdreamz
authored andcommitted
Squashed commits in #1250 with formatting fixes
fixed formatting changes introduced in #1250 #1249 Changed formatting, added test #1249 Added File property to SortSearchDescriptor
1 parent f8643a4 commit 05ac23d

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

src/Nest/DSL/Search/SortScriptDescriptor.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ public interface IScriptSort : ISort
1919

2020
[JsonProperty(PropertyName = "lang")]
2121
string Language { get; set; }
22+
23+
[JsonProperty(PropertyName = "file")]
24+
string File { get; set; }
2225
}
2326

2427
public class ScriptSort : SortBase, IScriptSort
@@ -27,6 +30,7 @@ public class ScriptSort : SortBase, IScriptSort
2730
public string Script { get; set; }
2831
public Dictionary<string, object> Params { get; set; }
2932
public string Language { get; set; }
33+
public string File { get; set; }
3034
}
3135

3236
public class SortScriptDescriptor<T> : SortDescriptorBase<T, SortScriptDescriptor<T>>, IScriptSort where T : class
@@ -39,6 +43,8 @@ public class SortScriptDescriptor<T> : SortDescriptorBase<T, SortScriptDescripto
3943

4044
string IScriptSort.Language { get; set; }
4145

46+
string IScriptSort.File { get; set; }
47+
4248
Dictionary<string, object> IScriptSort.Params { get; set; }
4349

4450
public SortScriptDescriptor<T> Script(string script)
@@ -85,5 +91,11 @@ public SortScriptDescriptor<T> Language(string language)
8591
Self.Language = language;
8692
return this;
8793
}
94+
95+
public SortScriptDescriptor<T> File(string file)
96+
{
97+
Self.File = file;
98+
return this;
99+
}
88100
}
89101
}

src/Tests/Nest.Tests.Unit/Search/Sorting/SortTests.cs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,47 @@ public void TestSortScript()
307307
Assert.True(json.JsonEquals(expected), json);
308308
}
309309

310+
[Test]
311+
public void TestSortScriptFile()
312+
{
313+
var s = new SearchDescriptor<ElasticsearchProject>()
314+
.From(0)
315+
.Size(10)
316+
.SortScript(sort => sort
317+
.MissingLast()
318+
.Descending()
319+
.Mode(SortMode.Average)
320+
.File("SortScript")
321+
.Params(p => p
322+
.Add("factor", 1.1)
323+
)
324+
.Language("native")
325+
.Type("number")
326+
);
327+
var json = TestElasticClient.Serialize(s);
328+
var expected = @"
329+
{
330+
from: 0,
331+
size: 10,
332+
sort: [
333+
{
334+
_script: {
335+
type: ""number"",
336+
params: {
337+
factor: 1.1
338+
},
339+
missing: ""_last"",
340+
order: ""desc"",
341+
mode: ""avg"",
342+
lang: ""native"",
343+
file: ""SortScript"",
344+
}
345+
}
346+
]
347+
}";
348+
Assert.True(json.JsonEquals(expected), json);
349+
}
350+
310351
[Test]
311352
public void TestNestedFilter()
312353
{

0 commit comments

Comments
 (0)