Skip to content

Commit 107411a

Browse files
committed
Merge branch 'master' of github.com:MaxHorstmann/NEST
Conflicts: src/Nest.Tests.Integration/Search/QueryDSLTests.cs
2 parents 3d096da + 796b439 commit 107411a

File tree

4 files changed

+95
-3
lines changed

4 files changed

+95
-3
lines changed

src/Nest.Tests.Integration/Search/QueryDSLTests.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,29 @@ public void TermSuggest()
174174
Assert.AreEqual(results.Suggest["mySuggest"].First().Options.First().Text, country);
175175
}
176176

177+
[Test]
178+
public void PhraseSuggest()
179+
{
180+
var results = this._client.Search<ElasticSearchProject>(s => s
181+
.Query(q => q.MatchAll())
182+
.PhraseSuggest("myPhraseSuggest", m => m.Text("Nostrud frankufrter dseerunt ulalmco").Size(1).OnField("content"))
183+
);
184+
185+
Assert.NotNull(results);
186+
Assert.True(results.IsValid);
187+
188+
Assert.NotNull(results.Suggest);
189+
Assert.NotNull(results.Suggest.Values);
190+
191+
Assert.AreEqual(results.Suggest.Values.Count, 1);
192+
Assert.AreEqual(results.Suggest.Values.First().Count(), 1);
193+
194+
Assert.NotNull(results.Suggest.Values.First().First().Options);
195+
Assert.GreaterOrEqual(results.Suggest.Values.First().First().Options.Count(), 1);
196+
197+
Assert.AreEqual(results.Suggest.Values.First().First().Options.First().Text, "nostrud frankfurter deserunt ulalmco");
198+
}
199+
177200
[Test]
178201
public void TestCustomFiltersScore()
179202
{

src/Nest.Tests.Unit/Nest.Tests.Unit.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@
215215
<Compile Include="Search\SearchType\ScriptFieldTests.cs" />
216216
<Compile Include="Internals\Serialize\SerializeTests.cs" />
217217
<Compile Include="Search\Sort\SortTests.cs" />
218+
<Compile Include="Search\Suggest\PhraseSuggestTests.cs" />
218219
<Compile Include="Search\Suggest\TermSuggestTests.cs" />
219220
<Compile Include="Settings\UsePrettyResponseTests.cs" />
220221
<Compile Include="Test.Designer.cs">
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
using NUnit.Framework;
2+
using Nest.Tests.MockData.Domain;
3+
4+
namespace Nest.Tests.Unit.Search.Suggest
5+
{
6+
[TestFixture]
7+
public class PhraseSuggestTests : BaseJsonTests
8+
{
9+
[Test]
10+
public void PhraseSuggestDescriptorTest()
11+
{
12+
var phraseSuggestDescriptor = new PhraseSuggestDescriptor<ElasticSearchProject>()
13+
.Analyzer("body")
14+
.OnField("bigram")
15+
.Size(1)
16+
.MaxErrors(0.5m)
17+
.GramSize(2);
18+
19+
var json = TestElasticClient.Serialize(phraseSuggestDescriptor);
20+
21+
var expected = @"{
22+
""gram_size"": 2,
23+
""max_errors"": 0.5,
24+
""field"": ""bigram"",
25+
""analyzer"": ""body"",
26+
""size"": 1
27+
}";
28+
29+
Assert.True(json.JsonEquals(expected), json);
30+
}
31+
32+
[Test]
33+
public void PhraseSuggestDescriptorDirectGeneratorTest()
34+
{
35+
var phraseSuggestDescriptor = new PhraseSuggestDescriptor<ElasticSearchProject>()
36+
.Analyzer("body")
37+
.DirectGenerator(m => m.OnField("body").SuggestMode(SuggestMode.Always).MinWordLength(3));
38+
39+
var json = TestElasticClient.Serialize(phraseSuggestDescriptor);
40+
41+
var expected = @"{
42+
""direct_generator"": [
43+
{
44+
""field"": ""body"",
45+
""suggest_mode"": ""always"",
46+
""min_word_len"": 3
47+
}
48+
],
49+
""analyzer"": ""body""
50+
}";
51+
52+
Assert.True(json.JsonEquals(expected), json);
53+
}
54+
55+
56+
}
57+
}
Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,37 @@
11
using NUnit.Framework;
22
using Nest.Tests.MockData.Domain;
33

4-
namespace Nest.Tests.Unit.Search.Query.Bool
4+
namespace Nest.Tests.Unit.Search.Suggest
55
{
6+
67
[TestFixture]
78
public class TermSuggestTests : BaseJsonTests
89
{
910
[Test]
1011
public void TermSuggestDescriptorTest()
1112
{
12-
var termSuggestDescriptor = new TermSuggestDescriptor<ElasticSearchProject>().MaxEdits(3).MaxInspections(17).OnField("field1");
13+
var termSuggestDescriptor = new TermSuggestDescriptor<ElasticSearchProject>()
14+
.MaxEdits(3)
15+
.MaxInspections(17)
16+
.OnField("field1")
17+
.Size(3)
18+
.SuggestMode(SuggestMode.Missing);
19+
1320
var json = TestElasticClient.Serialize(termSuggestDescriptor);
1421

1522
var expected = @"{
23+
""suggest_mode"": ""missing"",
1624
""max_edits"": 3,
1725
""max_inspections"": 17,
18-
""field"": ""field1""
26+
""field"": ""field1"",
27+
""size"": 3
1928
}";
2029

2130
Assert.True(json.JsonEquals(expected), json);
2231
}
2332

2433

34+
35+
2536
}
2637
}

0 commit comments

Comments
 (0)