Create a new Data Matching Definition with the given configuration.
Configuration example:
<?xml version="1.0" standalone="no" ?>
<duke>
<object class="no.priv.garshol.duke.comparators.QGramComparator" name="NameComparator">
<param name="formula" value="DICE"/>
<param name="q" value="3"/>
</object>
<schema>
<threshold>0.7</threshold>
<property type="ignore">
<name>STORAGE_ID</name>
</property>
<property type="ignore">
<name>DATA_SOURCE_ID</name>
</property>
<property type="id">
<name>BUSINESS_PARTNER_ID</name>
</property>
<property lookup="required">
<name>COUNTRY_SHORTNAME</name>
<comparator>no.priv.garshol.duke.comparators.ExactComparator</comparator>
<low>0.0</low>
<high>0.5</high>
</property>
<property lookup="true">
<name>NAME</name>
<comparator>NameComparator</comparator>
<low>0.1</low>
<high>0.9</high>
</property>
</schema>
<database class="no.priv.garshol.duke.databases.LuceneDatabase">
<param name="max-search-hits" value="100"/>
<param name="min-relevance" value="0.9"/>
<param name="fuzzy-search" value="true"/>
<param name="boost-mode" value="INDEX"/>
</database>
<data-source class="cdq.cdl.matching.datasource.MatchingDataSource">
<column
cleaner="no.priv.garshol.duke.cleaners.LowerCaseNormalizeCleaner" name="businessPartner.address.country.shortName" property="COUNTRY_SHORTNAME"/>
<column
cleaner="no.priv.garshol.duke.cleaners.LowerCaseNormalizeCleaner"
configProperty="COUNTRY_SHORTNAME" name="businessPartner.names[0].value" property="NAME"/>
</data-source>
</duke>
OK
The sent request is malformed.
{- "name": "Custom Matching Definition Name",
- "type": "DEDUPLICATION",
- "xmlDukeConfiguration": "<duke>...</duke>",
- "reportConfiguration": {
- "header": [
- {
- "attributeJsonPath": "attributeJsonPath",
- "columnName": "External ID"
}
]
}, - "goldenRecordConfiguration": {
- "decisionStrategy": {
- "root": {
- "rule": {
- "type": "HAS_VALUE",
- "jsonPath": "attributeJsonPath",
- "valueType": "TEXT",
- "expectedValues": [
- "expectedValue"
]
}, - "yesBranch": { },
- "noBranch": { }
}
}, - "creationStrategy": {
- "type": "CONSTANT",
- "protectedAttributes": [
- "External ID"
], - "recordExclusionRules": [
- {
- "type": "HAS_VALUE",
- "jsonPath": "attributeJsonPath",
- "valueType": "TEXT",
- "expectedValues": [
- "expectedValue"
]
}
], - "attributeEnhancementRules": [
- {
- "attributes": [
- "External ID"
], - "constraintChain": {
- "constraints": [
- {
- "type": null,
- "jsonPath": null,
- "valueType": null,
- "expectedValues": [ ]
}
], - "allRecordsShouldMatch": "true",
- "constraintChainType": "AND"
}, - "creationType": "CONSTANT",
- "creationConstant": "constantValue",
- "executionType": "SET",
- "fallbackExecutionType": "SET"
}
]
}
}, - "workspace": {
- "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
}
}
{- "id": "6461e6113b1865304b3038b6",
- "name": "Custom Matching Definition Name",
- "creatorUsername": "johndoe",
- "creatorOrganization": "cdq_monitor",
- "createdAt": "2025-03-14T11:41:22Z",
- "lastModifiedAt": "2025-03-14T11:41:22Z",
- "type": "DEDUPLICATION",
- "xmlDukeConfiguration": "<duke>...</duke>",
- "reportConfiguration": {
- "header": [
- {
- "attributeJsonPath": "attributeJsonPath",
- "columnName": "External ID"
}
]
}, - "goldenRecordConfiguration": {
- "decisionStrategy": {
- "root": {
- "rule": {
- "type": "HAS_VALUE",
- "jsonPath": "attributeJsonPath",
- "valueType": "TEXT",
- "expectedValues": [
- "expectedValue"
]
}, - "yesBranch": { },
- "noBranch": { }
}
}, - "creationStrategy": {
- "type": "CONSTANT",
- "protectedAttributes": [
- "External ID"
], - "recordExclusionRules": [
- {
- "type": "HAS_VALUE",
- "jsonPath": "attributeJsonPath",
- "valueType": "TEXT",
- "expectedValues": [
- "expectedValue"
]
}
], - "attributeEnhancementRules": [
- {
- "attributes": [
- "External ID"
], - "constraintChain": {
- "constraints": [
- {
- "type": null,
- "jsonPath": null,
- "valueType": null,
- "expectedValues": [ ]
}
], - "allRecordsShouldMatch": "true",
- "constraintChainType": "AND"
}, - "creationType": "CONSTANT",
- "creationConstant": "constantValue",
- "executionType": "SET",
- "fallbackExecutionType": "SET"
}
]
}
}, - "workspace": {
- "id": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4"
}
}