diff --git a/.code-samples.meilisearch.yaml b/.code-samples.meilisearch.yaml index 1a96326a..0a788658 100644 --- a/.code-samples.meilisearch.yaml +++ b/.code-samples.meilisearch.yaml @@ -755,6 +755,12 @@ search_parameter_guide_show_ranking_score_1: |- ShowRankingScore = true }; await client.Index("movies").SearchAsync("dragon", params); +search_parameter_guide_show_ranking_score_details_1: |- + var params = new SearchQuery() + { + ShowRankingScoreDetails = true + }; + await client.Index("movies").SearchAsync("dragon", params); get_proximity_precision_settings_1: |- await client.Index("books").GetProximityPrecisionAsync(); update_proximity_precision_settings_1: |- diff --git a/src/Meilisearch/Meilisearch.csproj b/src/Meilisearch/Meilisearch.csproj index 11ab376f..b1fc09c2 100644 --- a/src/Meilisearch/Meilisearch.csproj +++ b/src/Meilisearch/Meilisearch.csproj @@ -4,7 +4,7 @@ netstandard2.0 Library MeiliSearch - 0.15.2 + 0.15.3 .NET wrapper for Meilisearch, an open-source search engine https://github.com/meilisearch/meilisearch-dotnet meilisearch;dotnet;sdk;search-engine;search;instant-search diff --git a/src/Meilisearch/SearchQuery.cs b/src/Meilisearch/SearchQuery.cs index 3bcf45ad..27186a4a 100644 --- a/src/Meilisearch/SearchQuery.cs +++ b/src/Meilisearch/SearchQuery.cs @@ -104,6 +104,12 @@ public class SearchQuery [JsonPropertyName("showRankingScore")] public bool? ShowRankingScore { get; set; } + /// + /// Gets or sets showRankingScoreDetails parameter. It defines whether details on how the ranking score was computed are returned or not. + /// + [JsonPropertyName("showRankingScoreDetails")] + public bool? ShowRankingScoreDetails { get; set; } + // pagination: /// diff --git a/tests/Meilisearch.Tests/Movie.cs b/tests/Meilisearch.Tests/Movie.cs index a17939e1..c683d4bb 100644 --- a/tests/Meilisearch.Tests/Movie.cs +++ b/tests/Meilisearch.Tests/Movie.cs @@ -1,3 +1,6 @@ +using System.Collections.Generic; +using System.Text.Json; + namespace Meilisearch.Tests { public class Movie @@ -56,4 +59,14 @@ public class MovieWithRankingScore public string Genre { get; set; } public double? _RankingScore { get; set; } } + + public class MovieWithRankingScoreDetails + { + public string Id { get; set; } + + public string Name { get; set; } + + public string Genre { get; set; } + public IDictionary _RankingScoreDetails { get; set; } + } } diff --git a/tests/Meilisearch.Tests/SearchTests.cs b/tests/Meilisearch.Tests/SearchTests.cs index 776958e2..4365a7cf 100644 --- a/tests/Meilisearch.Tests/SearchTests.cs +++ b/tests/Meilisearch.Tests/SearchTests.cs @@ -505,6 +505,18 @@ public async Task CustomSearchWithShowRankingScore() var movies = await _basicIndex.SearchAsync("iron man", searchQuery); Assert.NotNull(movies.Hits.First()._RankingScore); } + + [Fact] + public async Task CustomSearchWithShowRankingScoreDetails() + { + var searchQuery = new SearchQuery() + { + ShowRankingScoreDetails = true + }; + var movies = await _basicIndex.SearchAsync("iron man", searchQuery); + Assert.NotEmpty(movies.Hits.First()._RankingScoreDetails); + } + [Fact] public async Task CustomSearchProductsWithoutDistinct() {