New: Improve match by adding small penalty for missing isbn/asin

This commit is contained in:
ta264 2021-11-16 21:06:16 +00:00
parent a9e181425b
commit 847a9eae93
2 changed files with 12 additions and 0 deletions

View file

@ -14,7 +14,9 @@ public class Distance
{ "author", 3.0 },
{ "book", 3.0 },
{ "isbn", 10.0 },
{ "isbn_missing", 0.1 },
{ "asin", 10.0 },
{ "asin_missing", 0.1 },
{ "media_count", 1.0 },
{ "media_format", 1.0 },
{ "year", 1.0 },

View file

@ -81,6 +81,11 @@ public static Distance BookDistance(List<LocalBook> localTracks, Edition edition
dist.AddBool("isbn", isbn != edition.Isbn13);
Logger.Trace("isbn: '{0}' vs '{1}'; {2}", isbn, edition.Isbn13, dist.NormalizedDistance());
}
else if (isbn.IsNullOrWhiteSpace() != edition.Isbn13.IsNullOrWhiteSpace())
{
dist.AddBool("isbn_missing", true);
Logger.Trace("isbn: '{0}' vs '{1}'; {2}", isbn, edition.Isbn13, dist.NormalizedDistance());
}
var asin = localTracks.MostCommon(x => x.FileTrackInfo.Asin);
if (asin.IsNotNullOrWhiteSpace() && edition.Asin.IsNotNullOrWhiteSpace())
@ -88,6 +93,11 @@ public static Distance BookDistance(List<LocalBook> localTracks, Edition edition
dist.AddBool("asin", asin != edition.Asin);
Logger.Trace("asin: '{0}' vs '{1}'; {2}", asin, edition.Asin, dist.NormalizedDistance());
}
else if (asin.IsNullOrWhiteSpace() != edition.Asin.IsNullOrWhiteSpace())
{
dist.AddBool("asin_missing", true);
Logger.Trace("asin: '{0}' vs '{1}'; {2}", asin, edition.Asin, dist.NormalizedDistance());
}
// Year
var localYear = localTracks.MostCommon(x => x.FileTrackInfo.Year);