Zendesk Ticket #3020 - Add feature scores to search results without having to use withRaw=true query parameter
Bug: Remove fullNameScore from SzBaseRelatedEntity base-class since it has not been populated since 2.0 upgrade and is omitted if not available anyway (it was only ever included for the sub-class SzAttributeSearchResult). Replace the removed field with the bestNameScore field on SzAttributeSearchResult sub-class where it was actually used.
Enhancement: Include SzNameScoring (new class to describe name scoring details) on SzFeatureScore for "why" operations similar to how it is included in SzSearchFeatureScore in resolution of Zendesk #3020
Bug:SzFeatureScore did not accurately describe the score field for "NAME" features which have more than one score. This is now defined as being one of the name scores according to an order of precedence and nameScoringDetails is added provide the breakdown of the name scores.
Why was change needed
Users had to rely on ?withRaw=true to get the feature scores on search results -- this should be part of the primary data model.
The fullNameScore field was useless since the upgrade to Senzing native SDK 2.0 and was only ever used on SzAttributeSearchResult anyway in SDK version 1.x -- this is a correction to the model.
What does change improve
Additional fidelity on search with feature scores and name scoring details
New bestNameScore on search results for sorting by best name match
Cleanup of ambiguous unused field
Name scoring details on "why" operations.
NOTE: Despite removing the SzBaseRelatedEntity.fullNameScore field we did not increment the version number to 3.0 because the field "fullNameScore" was documented to be omitted when not available (i.e.: "optional") and has been omitted 100% of the time since moving to 2.0 due to bugs in the API Server implementation. While the specification should technically be updated to version 3.0.0 for other "hypothetical" implementations of the Senzing REST API Specification, to our knowledge the Senzing API Server is the defacto implementation and the only implementation we know of that is in use.
Pull request questions
Which issue does this address
withRaw=true
query parameterfullNameScore
fromSzBaseRelatedEntity
base-class since it has not been populated since 2.0 upgrade and is omitted if not available anyway (it was only ever included for the sub-classSzAttributeSearchResult
). Replace the removed field with thebestNameScore
field onSzAttributeSearchResult
sub-class where it was actually used.SzNameScoring
(new class to describe name scoring details) onSzFeatureScore
for "why" operations similar to how it is included inSzSearchFeatureScore
in resolution of Zendesk #3020SzFeatureScore
did not accurately describe thescore
field for "NAME" features which have more than one score. This is now defined as being one of the name scores according to an order of precedence andnameScoringDetails
is added provide the breakdown of the name scores.Why was change needed
?withRaw=true
to get the feature scores on search results -- this should be part of the primary data model.fullNameScore
field was useless since the upgrade to Senzing native SDK 2.0 and was only ever used onSzAttributeSearchResult
anyway in SDK version 1.x -- this is a correction to the model.What does change improve
bestNameScore
on search results for sorting by best name matchNOTE: Despite removing the
SzBaseRelatedEntity.fullNameScore
field we did not increment the version number to 3.0 because the field "fullNameScore" was documented to be omitted when not available (i.e.: "optional") and has been omitted 100% of the time since moving to 2.0 due to bugs in the API Server implementation. While the specification should technically be updated to version 3.0.0 for other "hypothetical" implementations of the Senzing REST API Specification, to our knowledge the Senzing API Server is the defacto implementation and the only implementation we know of that is in use.