Question
We have a Search before creating a requirement and the Professional service suggested we to use the offset parameter to control the pagination. We have tested the pagination and identified the match result order change for every API call. It is a challenge for our data steward to review the match data set.
We need to find a way to call the search API and return the same match results in the same sequence order so we can use the offset to paginate the result set.
API that is being used for the search
GET https://<environment>.reltio.com/reltio/api/<tenantId>/entities?filter(equals(type,'configuration/entityTypes/HCP') and (inSameAttributeValue (equals(attributes.Address.StateProvince,'') and (equals(attributes.Address.City,'') or equals(attributes.Address.Zip.Zip5,'') or equals(attributes.Address.AddressLine1,'') or equals(attributes.Address.NewAddressLine1,''))) or
(equals(attributes.Address.StateProvince,'') and (fuzzy(attributes.Name,''))))&max=5&offset=10
Answer
- There would be an expected difference between output because you are offsetting by 0 in one case and 5 in the other.
MDMID: -
offsetValue = 0 and maxCount = 5
[
"1484966",
"2000504952",
"2050427",
"2000554335",
"1661260"
]
offsetValue = 5 and maxCount = 5
[
"37497865",
"302907",
"2002018109",
"2000279405",
"2000594333"
]
- We suggest a more dynamic query (which will also address any duplicate issues). When I execute the following similar API call, it is the correct and usable order.
GET https://<environment>.reltio.com/reltio/api/<tenantId>/entities
?filter(equals(type,'configuration/entityTypes/HCP') )
&offset=100&max=5&options=ovOnly&select=attributes.MDMID&sort=attributes.MDMID&order=asc
[
{
"attributes": {
"MDMID": [
{
"type": "configuration/entityTypes/HCP/attributes/MDMID",
"ov": true,
"value": "0048",
"uri": "entities/1jHDwLAL/attributes/MDMID/4I0fKSMSL"
}
]
}
},
{
"attributes": {
"MDMID": [
{
"type": "configuration/entityTypes/HCP/attributes/MDMID",
"ov": true,
"value": "0049",
"uri": "entities/1siiOBaf/attributes/MDMID/4S5VkAsJh"
}
]
}
},
{
"attributes": {
"MDMID": [
{
"type": "configuration/entityTypes/HCP/attributes/MDMID",
"ov": true,
"value": "0050",
"uri": "entities/1siiO349/attributes/MDMID/4S5Vk8XOv"
}
]
}
},
{
"attributes": {
"MDMID": [
{
"type": "configuration/entityTypes/HCP/attributes/MDMID",
"ov": true,
"value": "0051",
"uri": "entities/1siiNuXd/attributes/MDMID/4S5Vk5vR7"
}
]
}
},
{
"attributes": {
"MDMID": [
{
"type": "configuration/entityTypes/HCP/attributes/MDMID",
"ov": true,
"value": "0052",
"uri": "entities/1siiOK7B/attributes/MDMID/4S5VkD8yD"
}
]
}
}
]
- There is a way to filter on match score with the following type of filter (see https://docs.reltio.com/matchesapi/searchbymatchscore.html)
filter=gte(potentialMatches.matchScore, 15)
Comments
Please sign in to leave a comment.