diff --git a/src/Nest/DSL/Query/MultiMatchQueryDescriptor.cs b/src/Nest/DSL/Query/MultiMatchQueryDescriptor.cs index 86344015b1d..72346436427 100644 --- a/src/Nest/DSL/Query/MultiMatchQueryDescriptor.cs +++ b/src/Nest/DSL/Query/MultiMatchQueryDescriptor.cs @@ -140,6 +140,13 @@ public MultiMatchQueryDescriptor OnFieldsWithBoost(Action PropertyPathMarker.Create(o.Key, o.Value)); return this; } + public MultiMatchQueryDescriptor OnFieldsWithBoost(Action> boostableSelector) + { + var d = new FluentDictionary(); + boostableSelector(d); + ((IMultiMatchQuery)this).Fields = d.Select(o => PropertyPathMarker.Create(o.Key, o.Value)); + return this; + } public MultiMatchQueryDescriptor Query(string query) { diff --git a/src/Tests/Nest.Tests.Unit/Nest.Tests.Unit.csproj b/src/Tests/Nest.Tests.Unit/Nest.Tests.Unit.csproj index d87502b49e3..5abb6cc3ee8 100644 --- a/src/Tests/Nest.Tests.Unit/Nest.Tests.Unit.csproj +++ b/src/Tests/Nest.Tests.Unit/Nest.Tests.Unit.csproj @@ -886,6 +886,9 @@ Always + + Always + Always diff --git a/src/Tests/Nest.Tests.Unit/Search/Query/Singles/MultiMatch/MultiMatchJson.cs b/src/Tests/Nest.Tests.Unit/Search/Query/Singles/MultiMatch/MultiMatchJson.cs index d5ac43c1132..79cec6bac81 100644 --- a/src/Tests/Nest.Tests.Unit/Search/Query/Singles/MultiMatch/MultiMatchJson.cs +++ b/src/Tests/Nest.Tests.Unit/Search/Query/Singles/MultiMatch/MultiMatchJson.cs @@ -26,5 +26,20 @@ public void TestMultiMatchJson() ); this.JsonEquals(s, MethodInfo.GetCurrentMethod()); } + + [Test] + public void TestMultiMatchOnFieldsWithBoost() + { + var s = new SearchDescriptor() + .From(0) + .Size(10) + .Query(q => q + .MultiMatch(m => m + .OnFieldsWithBoost(f=>f.Add("field1", 1.2).Add("field2",.9)) + .Query("this is a query") + ) + ); + this.JsonEquals(s, MethodInfo.GetCurrentMethod()); + } } } diff --git a/src/Tests/Nest.Tests.Unit/Search/Query/Singles/MultiMatch/TestMultiMatchOnFieldsWithBoost.json b/src/Tests/Nest.Tests.Unit/Search/Query/Singles/MultiMatch/TestMultiMatchOnFieldsWithBoost.json new file mode 100644 index 00000000000..52b9adec65b --- /dev/null +++ b/src/Tests/Nest.Tests.Unit/Search/Query/Singles/MultiMatch/TestMultiMatchOnFieldsWithBoost.json @@ -0,0 +1,13 @@ + { + "from": 0, + "size": 10, + "query": { + "multi_match": { + "query": "this is a query", + "fields": [ + "field1^1.2", + "field2^0.9" + ] + } + } +} \ No newline at end of file