diff --git a/README.md b/README.md
index b1048b6..6e92222 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,5 @@
-
-
-
-
-
-
+
+
# Analytics by Babel Street
@@ -178,13 +174,13 @@ From the root directory of the source tree, `dotnet build`. Note that .NET 10 S
From the root directory of the source tree, `dotnet test tests/tests.csproj`
#### Examples
-View small example programs for each Rosette endpoint
+View small example programs for each Analytics endpoint
in the [examples](https://github.com/rosette-api/dotnet/tree/master/examples) directory.
#### Documentation & Support
- [Binding API](https://rosette-api.github.io/dotnet)
-- [Analytics Platform API](http://documentation.babelstreet.com/analytics)
+- [Analytics Platform API](https://documentation.babelstreet.com/analytics)
- [Binding Release Notes](https://github.com/rosette-api/dotnet/wiki/Release-Notes)
-- [Analytics Platform Release Notes](https://docs.babelstreet.com/r/Hosted-Services-Release-Notes)
+- [Analytics Platform Release Notes](https://docs.babelstreet.com/Release/en/rosette-cloud.html)
- [Support](https://babelstreet.my.site.com/support/s/contactsupport)
- [Binding License: Apache 2.0](LICENSE.txt)
diff --git a/rosette_api/Models/RecordSimilarityFieldInfo.cs b/rosette_api/Models/RecordSimilarityFieldInfo.cs
index 08a290a..3353116 100644
--- a/rosette_api/Models/RecordSimilarityFieldInfo.cs
+++ b/rosette_api/Models/RecordSimilarityFieldInfo.cs
@@ -13,7 +13,13 @@ public class RecordSimilarityFieldInfo
///
[JsonPropertyName("type")]
public string Type { get; set; }
-
+
+ ///
+ /// Gets or sets the record's field scoring method
+ ///
+ [JsonPropertyName("scoringMethod")]
+ public RecordSimilarityFieldScoringMethod? ScoringMethod { get; set; }
+
///
/// Gets or sets the record's field weight
///
@@ -35,13 +41,19 @@ public RecordSimilarityFieldInfo() { }
/// Full constructor
///
/// The record's field type
+ /// The record's field scoring method
/// The record's field weight
/// The record's field scoreIfNull
- public RecordSimilarityFieldInfo(string type, double? weight, double? scoreIfNull)
+ public RecordSimilarityFieldInfo(
+ string type,
+ RecordSimilarityFieldScoringMethod? fieldScoringMethod,
+ double? weight,
+ double? scoreIfNull)
{
this.Type = type;
this.Weight = weight;
this.ScoreIfNull = scoreIfNull;
+ this.ScoringMethod = fieldScoringMethod;
}
@@ -58,7 +70,8 @@ public override bool Equals(object obj)
List conditions = new List() {
this.Type == other.Type,
this.Weight == other.Weight,
- this.ScoreIfNull == other.ScoreIfNull
+ this.ScoreIfNull == other.ScoreIfNull,
+ this.ScoringMethod == other.ScoringMethod
};
return conditions.All(condition => condition);
}
@@ -78,7 +91,8 @@ public override int GetHashCode()
int h0 = this.Type.GetHashCode();
int h1 = this.Weight != null ? this.Weight.GetHashCode() : 1;
int h2 = this.ScoreIfNull != null ? this.ScoreIfNull.GetHashCode() : 1;
- return h0 ^ h1 ^ h2;
+ int h3 = this.ScoringMethod != null ? this.ScoringMethod.GetHashCode() : 1;
+ return h0 ^ h1 ^ h2 ^ h3;
}
///
diff --git a/rosette_api/Models/RecordSimilarityFieldScoringMethod.cs b/rosette_api/Models/RecordSimilarityFieldScoringMethod.cs
new file mode 100644
index 0000000..fcdbfa7
--- /dev/null
+++ b/rosette_api/Models/RecordSimilarityFieldScoringMethod.cs
@@ -0,0 +1,8 @@
+namespace Rosette.Api.Client.Models;
+
+public enum RecordSimilarityFieldScoringMethod
+{
+ STANDARD,
+ ONLY_INCREASE,
+ ONLY_DECREASE,
+}
\ No newline at end of file
diff --git a/rosette_api/Models/RecordSimilarityProperties.cs b/rosette_api/Models/RecordSimilarityProperties.cs
index 4e5033c..640f776 100644
--- a/rosette_api/Models/RecordSimilarityProperties.cs
+++ b/rosette_api/Models/RecordSimilarityProperties.cs
@@ -11,6 +11,11 @@ public class RecordSimilarityProperties
[JsonPropertyName("threshold")]
public double? Threshold { get; set; } = 0.0;
+ ///
+ /// Gets or sets the record similarity request's matching fields boost bias
+ ///
+ [JsonPropertyName("matchingFieldsBoostBias")]
+ public double? MatchingFieldsBoostBias { get; set; }
///
/// Gets or sets the record similarity request's include explain info parameter
@@ -51,12 +56,19 @@ public RecordSimilarityProperties(bool includeExplainInfo)
/// Full constructor
///
/// The score threshold
+ /// The matching fields boost bias
/// The include explain info parameter
/// A map of string parameter names to string parameter values
/// The parameter universe to use
- public RecordSimilarityProperties(double threshold, bool includeExplainInfo, Dictionary parameters, string parameterUniverse)
+ public RecordSimilarityProperties(
+ double threshold,
+ double matchingFieldsBoostBias,
+ bool includeExplainInfo,
+ Dictionary parameters,
+ string parameterUniverse)
{
this.Threshold = threshold;
+ this.MatchingFieldsBoostBias = matchingFieldsBoostBias;
this.IncludeExplainInfo = includeExplainInfo;
this.Parameters = parameters;
this.ParameterUniverse = parameterUniverse;
@@ -77,7 +89,8 @@ public override bool Equals(object obj)
this.IncludeExplainInfo == other.IncludeExplainInfo,
this.Parameters != null && other.Parameters != null ?
Utilities.DictionaryEquals(this.Parameters, other.Parameters) : this.Parameters == other.Parameters,
- this.ParameterUniverse == other.ParameterUniverse
+ this.ParameterUniverse == other.ParameterUniverse,
+ this.MatchingFieldsBoostBias == other.MatchingFieldsBoostBias
};
return conditions.All(condition => condition);
}
@@ -97,7 +110,8 @@ public override int GetHashCode()
int h1 = this.IncludeExplainInfo.GetHashCode();
int h2 = this.Parameters != null ? this.Parameters.GetHashCode() : 1;
int h3 = this.ParameterUniverse != null ? this.ParameterUniverse.GetHashCode() : 1;
- return h0 ^ h1 ^ h2 ^ h3;
+ int h4 = this.MatchingFieldsBoostBias != null ? this.MatchingFieldsBoostBias.GetHashCode() : 1;
+ return h0 ^ h1 ^ h2 ^ h3 ^ h4;
}
///