Table of Contents

Search

  1. Preface
  2. Introduction
  3. Program Design
  4. SSA-NAME3 Functions
  5. Language Specific Guidelines
  6. Controls
  7. Advanced Controls
  8. Address Standardization
  9. ASM Workbench

SSA-NAME3 API Reference Guide

SSA-NAME3 API Reference Guide

ssan3_match_encoded Controls

ssan3_match_encoded Controls

The ssan3_match_encoded call compares two records and computes a match decision and a score. The ssan3_match_encoded Controls set the purpose, the match level, and optionally, the layout of the search data and file data.

Syntax

PURPOSE=<expression> [MATCH_LEVEL=matchlevel][+/-nn][+/-nn] [ADJWEIGHT=field,+/-n] [NAMEFORMAT=name format] [EARLYEXIT=Y/N] [UNICODE_ENCODING=Unicode type] [ENCODING=Unicode type] [DELIMITER=delimiter] [MATCH_OPTIONS=(fieldname:option,...)] [MIN_MATCH_FIELDS=number of match field pairs] [SEARCH=field1[(matching type expression1)],offset1,length1,... , fieldn[(matching type expressionn)],offsetn,lengthn] [FILE=field1[(matching type expression1)],offset1,length1,... , fieldn[(matching type expressionn)],offsetn,lengthn] [FMTOVERRIDES=Field1[(<Field ID>)],cX,cX,cX,cX:Field2[(<Field ID>)],cX,cX,cX,cX] [LWM=Y/N/ONLY] [LWM_FIELDS=field1,weight1[,...,fieldn,weightn]] [LWM_LIMIT=rejectscore[,acceptscore]]

Definitions

Control
Mandatory/Optional
Description
PURPOSE
Mandatory
Specifies the name of the matching purpose to use in a match call. The PURPOSE control uses the following syntax:
PURPOSE=(<expression>)
Use one of the following formats for
<expression>
:
<expression> := <Purpose_Name> <expression> := <Purpose_Name>(<Match_level>) <expression> := (not<expression>) <expression> := (<expression> or <expression>) <expression> := (<expression> and <expression>) <expression> := (<expression>)
In the
ssan3_match
section of the SSA-NAME3 Workbench, under
Mandatory Controls
, you can find a list of the supported purpose names. With most standard populations, you can use one of the following predefined purposes:
Address Contact Division Fields Household Individual Organization Person_Name Resident Wide_Contact Geocode Filter1,Filter2,... Filter9
For more information about each purpose and its required and optional fields, from the
Help
menu of the SSA-NAME3 Workbench, click
Population Documentation
.
The simple form of
<expression>
is
PURPOSE=<Purpose_Name>
.
For example,
PURPOSE=Address
performs matching on the specified address fields.
MATCH_LEVEL
Optional
Controls the match level. With most standard populations, you can use one of the following predefined match levels:
  • Typical
  • Conservative
  • Loose
The default value is Typical.
Use the
MATCH_LEVEL
control to adjust the predefined accept or reject score limits that affect the match decisions.
The
MATCH_LEVEL
control uses the following guidelines:
  • If one of the adjusted limits is greater than 100, the limit is set to 100.
  • If one of the adjusted limits is less than 0, the limit is set to 0.
  • If the adjusted accept limit is less than the reject limit, the accept limit is set to the reject limit.
  • If the accept match adjustment is 101, the accept limit is set to 101. As a result, SSA-NAME3 does not accept any record, and SSA-NAME3 either rejects a record or marks it as undecided.
    For example, if
    MATCH_LEVEL=Loose+101-10
    , the accept limit is set to 101.
    If a match call returns a score of 100, SSA-NAME3 marks the record as undecided.
    If a match call returns a score that is less than 100 and less than the reject limit, SSA-NAME3 rejects the record. If the score is less than 100 but greater than or equal to the reject limit, SSA-NAME3 marks the record as undecided.
The
MATCH_LEVEL
control is not applicable to the
Geocode
purpose. If you specify the
MATCH_LEVEL
control with a
Geocode
purpose, SSA-NAME3 ignores the
MATCH_LEVEL
control.
You can use one of the following match level expressions:
matchlevel+/-nn
Adjusts the accept and reject limits by using the same specified number. For example:
MATCH_LEVEL=Typical+20
If the predefined accept limit is 79 and reject limit is 50, the adjusted accept limit is 99 and reject limit is 70.
matchlevel+/-nn+/-nn
Adjusts the accept and reject limits by using the specified numbers. For example:
MATCH_LEVEL=Typical-40+40
If the predefined accept limit is 79 and reject limit is 50, the calculated accept limit is 39, which is less than the reject limit of 90. The adjusted accept limit is set to 90, and the reject limit remains at 90.
ADJWEIGHT
Optional
Adjusts the weight of a single field in a match purpose up or down relative to the other fields in the purpose. Use the following format:
ADJWEIGHT=field{+/-}n
The
field
is a valid field name in the purpose that you define in the
PURPOSE=
control, and
n
is a single-digit number.
Standard populations use weights that are less than 10, so use smaller
ADJWEIGHT
adjustments. For example:
PURPOSE=Individual ADJWEIGHT=Person_Name+2
In this example, the definition increases the weight of the
Person_Name
field in the
Individual
match purpose by 2. The definition increases the importance of the
Person_Name
field and decreases the importance of the other fields. Experiment with different values and across a representative sample set of records to gauge the overall effect of this setting.
NAMEFORMAT=L/R
Optional
Defines whether the major word in the name or address is on the left end or the right end. For example, in Western person names, the family name is on the right end of the names.
Use the
NAMEFORMAT
control to override the default name format. For more information about the default name format for a given standard population field and its effects, from the
Help
menu of SSA-NAME3 Workbench, click
Population Documentation
.
You can provide extra weight to match the major words in the
Person_Name
field in some purposes such as
Person_Name
,
Household
,
Family
, and
Wide_Household
.
The
NAMEFORMAT
control in a
match
call overrides the name format for all name and address fields in the match purpose, so use the
NAMEFORMAT
control with caution.
EARLYEXIT=Y/N
Optional
By default, SSA-NAME3 matching includes logic to check the score of the first field in a Purpose. If the score is low enough to cause a reject of the entire record, it takes an early exit from the match process. It results in a potential performance improvement, and the performance improves when it rejects more records. When an early exit is taken, the record score is set to 0. To preserve the real score of "unmatched" records (for example for analysis in the Developer’s Workbench), you can disable the early exit logic by specifying
EARLYEXIT=N
.
If you disable the early exit logic, the lightweight matching is disabled even though you have enabled the lightweight matching by configuring
LWM=Y
.
UNICODE_ENCODING
Optional
Instructs SSA-NAME3 to accept Unicode data input, and specifies the Unicode format of the data that you want to pass.
ENCODING
Optional
Functions similar to the
UNICODE_ENCODING
keyword.
DELIMITER
Optional
Overrides the default delimiter - asterisk (*) if you pass the key field data by using the Tagged Data Format.
MATCH_OPTIONS
Optional
Defines options for a specific field. The
MATCH_OPTIONS
control uses the following syntax:
MATCH_OPTIONS=(fieldname:option,...)
Use the
MATCH_OPTIONS
control for the following fields:
Date
The
Date
field accepts the
Date_Format
option. The
MATCH_OPTIONS
control uses the following format for the
Date_Format
option :
MATCH_OPTIONS=DATE:Date_Format=<DDMMYY>|<MMDDYY>|<YYMMDD>
The values are not case sensitive.
Geocode
The
Geocode
field accepts the
FORMAT
and
RADIUS
options. The
MATCH_OPTIONS
control uses the following format for the
FORMAT
and
RADIUS
options:
MATCH_OPTIONS=GEOCODE:FORMAT=1,GEOCODE:RADIUS=10000
The
FORMAT
option indicates the order of the latitude and longitude coordinates that you specify.
If
GEOCODE:FORMAT=1
, SSA-NAME3 considers the geographic coordinates in the following order:
*Geocode*<Longitude> <Latitude>***
If
GEOCODE:FORMAT=0
, SSA-NAME3 considers the geographic coordinates in the following order:
*Geocode*<Latitude> <Longitude>***
The default value is 0.
The
RADIUS
option indicates the search radius to generate keys according to the latitude and longitude coordinates that you specify. The default value is 1000 m, and the default unit is meter.
Use the following guidelines when you specify the geocode radius:
  • SSA-NAME3 considers the radius to be in meters even if you specify any other unit.
  • SSA-NAME3 ignores the decimal values and uses the whole number as the radius. For example, if you specify the radius as 850.8, SSA-NAME3 considers the radius as 850.
SSA-NAME3 ignores any incorrect or unrecognised options in the
MATCH_OPTIONS
control and proceeds with matching, which might result in unexpected scores.
Address, Organization Name, Person Name
When the Search or File field contains one token, this match option uses the field with more tokens for matching. This
MATCH_OPTIONS
control uses the following format:
MATCH_OPTIONS=(<field>:M)
where field can be Address_Part1, Address_Part2, Organization_Name, and Person_Name.
Example:
MATCH_LEVEL=Conservative-20 PURPOSE=Person_Name MATCH_OPTIONS=(Person_Name:M) *Person_Name*James*** *Person_Name*James Andrews***
With
MATCH_OPTIONS=(Person_Name:M),
*Person_Name*James Andrews***
is considered for matching.
MIN_MATCH_FIELDS
Optional
Specify the minimum number of field pairs that must be supplied. If a field is supplied for both the search or file record then it is counted.
MIN_MATCH_FIELDS=number
SEARCH and FILE
Optional
Use the SEARCH and FILE controls to specify the field names and their offset and length pairs in the scatter or gather format for the data in the
Search Data
and
File Data
fields. If you do not specify the offset and length pairs for the field names, SSA-NAME3 considers the data in the tagged data format.
You can extend any of the key fields and set the weight for the extended fields. The extended fields use the algorithm of the key fields. Use the extended fields to override the weight of the key fields in the run time. You can also specify the type of matching to perform between the data in the
Search Data
and
File Data
fields.
You can use the following matching types:
  • Exact matching. Returns 100% score only if the search data values match with the file data values.
  • Fuzzy matching. Returns 0 to 100% score based on how close the search data and file data values match.
  • Inexact matching. Returns 100% score if the search data values do not match with the file data values.
  • Range matching. Returns 100% score if the search data and file data values are within the specified range.
If you specify different matching types in the SEARCH and FILE parameters, the matching type that you specify in the SEARCH parameter takes precedence.
Exact Matching
Use the following format to perform exact matching:
PURPOSE=<Purpose Name> SEARCH=<Field Name>[(<Field ID>;<Weight>;Exact[:B|Z|ZB])],<Offset>,<Length> FILE=[(<Field ID>;<Weight>;Exact)],<Offset>,<Length>
If you want to extend a key field, use any number as the
Field ID
value. If you do not want to extend any key field, use 0 as the
Field ID
value. If you extend a key field in the search or file data, you must extend the corresponding key field in the search or file data.
The value
B
indicates a null value, the value
Z
indicates a zero value, and the value
ZB
indicates a null or zero value.
The following sample expressions perform exact matching between the search data and file data values:
  • PURPOSE=Person_Name SEARCH=Person_Name(Exact),0,16 FILE=Person_Name,0,16
    . The expression returns 100% score only if the search data value exactly matches with the file data value.
  • PURPOSE=Fields SEARCH=Person_Name(2;5;Exact),0,16 FILE=Person_Name(2;Exact),0,16
    . The expression creates an extended field for the
    Person_Name
    field named
    Person_Name(2)
    and sets the weight for the extended field to 5. The search data value returns 100% score if the search data value exactly matches with the file data value.
  • PURPOSE=Person_Name SEARCH=Person_Name(0;5;Exact),0,16 FILE=Person_Name,0,16
    . The expression sets the weight of the
    Person_Name
    field to 5 without creating any extended field. The search data value returns 100% score if the search data value exactly matches with the file data value.
  • PURPOSE=Person_Name SEARCH=Person_Name(1;Exact),0,16 FILE=Person_Name(1;Exact),0,16
    . The expression creates an extended field for the
    Person_Name
    field named
    Person_Name(1)
    . The extended field uses the weight of the
    Person_Name
    field. The search data value returns 100% score if the search data value exactly matches with the file data value.
  • PURPOSE=Fields SEARCH=Date,0,8 FILE=Date(Exact:Z),0,8
    . The expression returns 100% score if the file data value is 0.
Reverse Matching
Reverses the original score. Use the following format to perform reverse matching:
PURPOSE=<Purpose Name>
SEARCH=<Field Name>[(<!Field ID>;<Weight>;)],<Offset>,<Length>
FILE=<Field Name>[(<!Field ID>;<Weight>;)],<Offset>,<Length>
The exclamation mark symbol (!) symbol preceding the numerical value for
Field ID
triggers score reversal. The exclamation mark symbol (!) is mandatory for the
SEARCH
field and optional for the
FILE
field.
The following sample expression performs reverse matching of the organization name:
PURPOSE=Fields SEARCH=Organization_Name(!0),0,11,Person_name,11,14
FILE=Organization_Name(!0),0,11,Person_name,11,14
InformaticaJohn Smith
InformaticaJohn Smith
For the preceding sample expression, you get a reverse score of 0% for
Informatica
instead of the usual score of 100%.
Fuzzy Matching
Use the following format to perform fuzzy matching:
SEARCH=<Field Name>[(<Field ID>;<Algorithm Name>[:<Upper Score Limit>;<Lower Score Limit>] FILE=<Field Name>[(<Field ID>;<Algorithm Name>[:<Upper Score Limit>;<Lower Score Limit>]
The format uses the following parameters:
  • Field Name
    . Name of the SSA-NAME3 field.
  • Field ID
    . Number that you want to assign to the extended field. If you want to extend a key field, use any number as the
    Field ID
    value. If you do not want to extend a key field, use 0 as the
    Field ID
    value. If you extend a key field in the search data, extend the corresponding key field in the file data.
  • Algorithm Name
    . Name of the supported algorithm that performs the fuzzy matching.
    Use one of the following values:
    • Levenshtein
      . Scores the records based on the minimum number of single-character edits required to change one word into the other.
    • Dice
      . Scores the records based on the Dice's coefficient.
    • JaroWinkler
      . Scores the records based on the minimum number of single-character transpositions required to change one word into the other.
  • Upper Score Limit/Lower Score Limit
    . Minimum score required for the records to be considered as matches or unique records.
    If a score is more than the upper score limit, the records are considered as a match. If a score is less than the lower score limit, the records are considered as unique records. If a score is between the upper and lower score limits, the records are considered as undecided matches. Default is 0.
The following sample expressions perform fuzzy matching between the search data and file data values:
  • SEARCH=Attribute1(1;Levenshtein:79;60) FILE=Attribute1(1;Levenshtein:79;60)
    . The expression extends the Attribute1 field and uses the Levenshtein algorithm to perform fuzzy matching.
  • SEARCH=Attribute1(0;JaroWinkler) FILE=Attribute1(0;JaroWinkler)
    . The expression does not extend the Attribute1 field and uses the JaroWinkler algorithm to perform fuzzy matching.
Inexact Matching
Use the following format to perform inexact matching:
PURPOSE=<Purpose Name> SEARCH=<Field Name>[(<Field ID>;<Weight>;!Exact[:B|Z|ZB])],<Offset>,<Length> FILE=[(<Field ID>;<Weight>;!Exact)],<Offset>,<Length>
If you want to extend a key field, use any number as the
Field ID
value. If you do not want to extend any key field, use 0 as the
Field ID
value. If you extend a key field in the search or file data, you must extend the corresponding key field in the search or file data.
The value
B
indicates a null value, the value
Z
indicates a zero value, and the value
ZB
indicates a null or zero value.
The following sample expressions perform inexact matching between the search data and file data values:
  • PURPOSE=Person_Name SEARCH=Person_Name(!Exact),0,16 FILE=Person_Name,0,16
    . The expression returns 100% score if the search data value does not match with the file data value.
  • PURPOSE=Fields SEARCH=Person_Name(1;5;!Exact),0,16 FILE=Person_Name(1;!Exact),0,16
    . The expression creates an extended field for the
    Person_Name
    field named
    Person_Name(1)
    and sets the weight for the extended field to 5. The search data value returns 100% score if the search data value does not match with the file data value.
  • PURPOSE=Person_Name SEARCH=Person_Name(0;5;!Exact),0,16 FILE=Person_Name,0,16
    . The expression sets the weight of the
    Person_Name
    field to 5 without creating any extended field. The search data value returns 100% score if the search data value does not match with the file data value.
  • PURPOSE=Fields SEARCH=Person_Name(3;!Exact),0,16 FILE=Person_Name(3;!Exact),0,16
    . The expression creates an extended field for the
    Person_Name
    field named
    Person_Name(3)
    , and the extended field uses the weight of the
    Person_Name
    field. The search data value returns 100% score if the search data value does not match with the file data value.
  • PURPOSE=Fields SEARCH=Date,0,8 FILE=Date(!Exact:ZB),0,8
    . The expression returns 100% score if the file data value is not 0 or null.
Range Matching
Use one of the following formats to perform range matching on numeric fields:
  • PURPOSE=<Purpose Name> SEARCH=<Field Name>[(<Field ID>;<Weight>;Range:<Negative Limit>;<Positive Limit>)],<Offset>,<Length> FILE=<Field Name>[(<Field ID>;<Weight>;Range:<Negative Limit>;<Positive Limit>)],<Offset>,<Length>
    If you want to extend a key field, use any number as the
    Field ID
    value. If you do not want to extend any key field, use 0 as the
    Field ID
    value. If you extend a key field in the search or file data, you must extend the corresponding key field in the search or file data.
    For example, the
    PURPOSE=Person_Name SEARCH=Person_Name,0,16,Attribute1(1;5;Range:20;10),16,2 FILE=Person_Name,0,16,Attribute1(1;Range),16,2
    expression creates an extended field for the
    Attribute1
    field named
    Attribute1(1)
    and sets the weight for the extended field to 5. If the
    Attribute1(1)
    value in the search data is 100, the range for the search data is 100-20 to 100+10, which is 80 to 110. The range matching returns 100% score if the
    Attribute1(1)
    value in the file data is within the search data range.
    If both the positive and negative limits are the same, you can specify the range in the
    (Range:<Limit>)
    format. For example,
    (Range:20)
    equals
    (Range:20;20).
  • PURPOSE=<Purpose Name> SEARCH=<Field Name>[(<Field ID>;<Weight>;Range:%<Negative Limit>;<Positive Limit>)],<Offset>,<Length> SEARCH=<Field Name>[(<Field ID>;<Weight>;Range:%<Negative Limit>;<Positive Limit>)],<Offset>,<Length>
    If you want to extend a key field, use any number as the
    Field ID
    value. If you do not want to extend any key field, use 0 as the
    Field ID
    value. If you extend a key field in the search or file data, you must extend the corresponding key field in the search or file data.
    For example, the
    PURPOSE=Person_Name SEARCH=Person_Name,0,16,Attribute1,16,2 FILE=Person_Name,0,16,Attribute1(Range:%10;20),16,2
    expression indicates that if the
    Attribute1
    value in the file data is 100, the range for the file data is 100-10% of the
    Attribute1
    value to 100+20% of the
    Attribute1
    value, which is 90 to 120. The range matching returns 100% score if the
    Attribute1
    value in the search data is within the file data range.
    If both the positive and negative limits are the same, you can specify the range in the
    (Range:%<Limit>)
    format. For example,
    (Range:%20)
    equals
    (Range:%20;20).
  • PURPOSE=<Purpose Name> SEARCH=<Field Name>[(Range:F|S)],<Offset>,<Length> FILE=<Field Name>[(Range:F|S]),<Offset>,<Length>
    The value F indicates to use the file data to create the range, and the value S indicates to use the search data to create the range.
    For example, the
    PURPOSE=Fields SEARCH=Date(Range:F),0,4 FILE=Date(Range:F),0,4,Date(Range:F),4,4
    expression indicates that if the file data is 50008000, the range for the search data is 5000 to 8000. The range matching returns 100% score if the
    Date
    value in the search data is within the file data range.
Use one of the following formats to perform range matching on date fields:
  • PURPOSE=<Purpose Name> SEARCH=<Date Field Name>[(Range:F|S)],<Offset>,<Length> FILE=<Date Field Name>[(Range:F|S]),<Offset>,<Length>
    The value
    F
    indicates to use the file data to create the range, and the value
    S
    indicates to use the search data to create the range.
    For example, the
    PURPOSE=Fields SEARCH=Date(Range:F),0,8 FILE=Date(Range:F),0,8,Date(Range:F),8,8
    expression indicates that if the file data is 1999101019991020, the range for the search data is 19991010 to 19991020. The range matching returns 100% score if the Date value in the search data is within the file data range.
  • PURPOSE=<Purpose Name> SEARCH=<Date Field Name>[(DateRange:<Negative Limit>;<Positive Limit>)],<Offset>,<Length> SEARCH=<Date Field Name>[(DateRange:<Negative Limit>;<Positive Limit>)],<Offset>,<Length>
    For example, the
    PURPOSE=Fields SEARCH=Date(Range:F),0,8 FILE=Date(DateRange:5;10),8,8
    expression indicates that if the
    Date
    value in the file data is 20150410, the range for the file data is 20150405 to 20150420. The range matching returns 100% score if the
    Date
    value in the search data is within the file data range.
    If both the positive and negative limits are the same, you can specify the range in the
    (DateRange:<Limit>)
    format. For example,
    (DateRange:7)
    equals
    (DateRange:7;7).
  • PURPOSE=<Purpose Name> SEARCH=<Date Field Name>[(DateRange:%<Negative Limit>;<Positive Limit>)],<Offset>,<Length> SEARCH=<Date Field Name>[(DateRange:%<Negative Limit>;<Positive Limit>)],<Offset>,<Length>
    For example, the
    PURPOSE=Fields SEARCH=Date,0,8 FILE=Date(DateRange:%10;20),0,8
    expression indicates that if the
    Date
    value in the file data is 19991010, the range for the file data is 10-10% of the
    Date
    value to 10+20% of the
    Date
    value, which is 19991009 to 19991012. The range matching returns 100% score if the
    Date
    value in the search data is within the file data range.
    If both the positive and negative limits are the same, you can specify the range in the
    (DateRange:%<Limit>)
    format. For example,
    (DateRange:%20)
    equals
    (DateRange:%20;20).
FMTOVERRIDES
Optional
Specifies whether to disable or override a list of category names and category types.
Use the following format:
PURPOSE=<Purpose Name>
SEARCH=<Field Name>[(<Field ID>;<Weight>;)],<Offset>,<Length>
FILE=<Field Name>[(<Field ID>;<Weight>;)],<Offset>,<Length>
FMTOVERRIDES=<Field Name1>[(<FieldID>)],cX,cX,cX,cX:<Field Name2>[(<Field ID>)],cX,cX,cX,cX]
The format uses the following values:
  • c. Use one of the following values:
    • N - Disables the specified edit-list category names during key generation process.
    • T - Disables the specified edit-list category types during key generation process.
    • X - Overrides the specified edit-list category type with another category type.
    • Y - Overrides the specified edit-list category name with another category type.
  • X. Denotes the category name or the category type in the edit-list that you want to disable or override.
The following sample configuration disables nick name words:
PURPOSE=Fields SEARCH=Person_name,0,4 FILE=Person_name,0,4
FMTOVERRIDES=Person_Name(1),NRRNNNK,TS:Person_Name(0),NRRNNNK
Mick
Mike
For the preceding sample configuration, you get a score of 75% as SSA-NAME3 disables the
NK
category name in the edit-list.
FILTER_SEARCHVALUES
Optional
Use the FILTER_SEARCHVALUES control to specify a list of values to match with the data in the Search Data field, File Data field, or both the fields. Use the Filter purpose to specify the data in the Search Data and File Data fields.
The FILTER_SEARCHVALUES control uses the following format to specify a list of search values:
PURPOSE=(Filter<Filter Purpose Number>,...) FILTER_SEARCHVALUES=<Filter Purpose Number>,<List of Flags>,(<List of Values>)|{<Value>,(<List of Values>)}
For example:
PURPOSE=(Filter2 AND Filter3) FILTER_SEARCHVALUES=2,SP,(WILLIAM,BILL),3,FP,{ROBERT,(ROB,ROBBIE)}
The FILTER_SEARCHVALUES control uses the following parameters:
Filter Purpose Number
Indicates the Filter purpose number for which you define a list of values.
For example, if you use the Filter5 purpose to specify the search data, use 5 as the Filter purpose number.
(List of Values)|{Value,(List of Values)}
Indicates the list of values to match with the search data, file data, or both. You can specify a list of values, or you can pair a value with a list of values.
For example:
FILTER_SEARCHVALUES=2,SP,(WILLIAM,BILL),3,FP,{ROBERT,(ROB,ROBBIE)}
Use appropriate flags to indicate whether to match the specified values with the search data, file data, or both.
List of Flags
Indicates whether to match the specified values with the search data, file data, or both. You can use multiple flags. For example, FP.
If you specify a list of values, you can use the following flags:
  • S. Indicates to match the values with the search data.
  • F. Indicates to match the values with the file data.
  • B. Indicates to match the values with both the search and file data.
  • P. Indicates to match the values in the list with the search data, file data, or both based on the length of the values in the list. This flag functions in conjunction with other flags.
    For example, specify
    FILTER_SEARCHVALUES=2,SP,Rob
    as one of the SCORE-LOGIC controls and
    *Filter2*Rose***
    in the search data. The length of
    Rob
    is three characters, so the matching considers only the first three characters of the search data. The matching does not return 100% score because
    Rob
    in the list does not exactly match with the first three characters of the search data, which are
    Ros
    .
If you pair a value with a list of values, you can use the following flags:
  • S. Indicates to match the value with the search data and the list of values with the file data.
  • F. Indicates to match the value with the file data and the list of values with the search data.
  • P. Indicates to match the values in the list with the search data, the file data, or both based on the length of the values in the list. This flag functions in conjunction with other flags.
    For example, the
    FILTER_SEARCHVALUES=3,S,{ROBERT,(ROB,ROBBIE)}
    control indicates to match
    Robert
    with the search data and the list of values,
    Rob and Robbie
    , with the file data.
You can also perform inexact matching to get 100% score if the list values do not match with the search or file data.
To perform inexact matching, use the following format when you define the Filter purpose:
PURPOSE=(NOT Filter<Number>, NOT Filter<Number>,...)
The usage of NOT indicates that you want to perform inexact matching. For example, the
PURPOSE=(NOT Filter2) FILTER_SEARCHVALUES=2,SP,(WILLIAM,BILL)
expression returns 100% score if the list values do not match with the search data.
LWM=Y/N/ONLY
Optional
Enables or disables lightweight matching. Use the value
Y
to enable lightweight matching. Lightweight matching uses a fast score estimate to reject the obvious mismatches. The records that lightweight matching passes go to the full scoring for robust scoring and ranking. SSA-NAME3 returns the full score and the decision to the caller.
If you create system definition files by using the SDF Wizard, the lightweight matching is enabled by default.
Use the value
N
to disable lightweight matching. SSA-NAME3 matching performs full scoring on all the matching records.
Use the value
ONLY
to enable lightweight matching and disable full scoring. Lightweight matching returns the estimate as the final score to the caller.
LWM_FIELDS
Optional
Specifies the fields to which you want to apply lightweight matching and their weights. These values override the values that you have defined in the match purpose during the run time. Based on the lightweight matching scores, SSA-NAME3 rejects the obvious mismatches. If you do not set any value, SSA-NAME3 retrieves the fields from the match purpose and assigns equal weight to them.
The syntax of the LWM_FIELDS control is as follows:
LWM_FIELDS=<field1>,<weight1>[,...,<fieldn>,<weightn>]
where
field
is a valid field name that you have defined in the Purpose control, and
weight
is the relative significance of the specified field (0-100) when compared to the other fields.
For example,
LWM_FIELDS=Person_Name,5,Address_Part1,1
Lightweight matching is useful when you apply it to the fields that have low variations such as addresses. Lightweight matching is not efficient for the fields with high variations, where SSA-NAME3 handles the variations through Edit-list, and lightweight matching might incorrectly reject the records.
LWM_LIMIT
Optional
Specifies the accept and reject limits for the lightweight matching score. Based on the limits, SSA-NAME3 accepts or rejects the search results.
The syntax of the LWM_LIMIT control is as follows:
LWM_LIMIT=<Reject>[,<Accept>]
where
Reject
and
Accept
are the integer values ranging from 0 through 100.
For example,
LWM_LIMIT=50,90
If
LWM=N
, the
LWM_LIMIT
control has no effect.
If
LWM=Y
, SSA-NAME3 rejects the lightweight matching scores that are less than the reject limit. The accept limit has no effect, and you can omit it.
If
LWM=ONLY
, SSA-NAME3 rejects the lightweight matching scores that are less than the reject limit. It accepts the scores that are greater than the accept limit. It marks the scores of the records that are greater than or equal to the reject limit and less than the accept limit as undecided.
The default reject limit is 65, and the default accept limit is 90. If you have not set the accept limit and the reject limit is greater than 90, the accept limit is equal to the reject limit.

0 COMMENTS

We’d like to hear from you!