# Types of Matching Available

Inaport offers several different ways of matching records, each with benefits and drawbacks.

## STANDARD MATCHING

Standard Matching is the most flexible and powerful of the matching techniques. Using the full power of the Expression Editor, you can build match expressions that combine together multiple fields, use sub-strings from the fields, or any other expression you can create.

### Advantages

Standard matching is the most flexible and powerful technique, and is the easiest to use.

### Disadvantages

Effectively, an in-memory index is created on the target table. The process of creating this index can take time at the start of the run, and the index is maintained in memory so, if a number of indexes are used, the memory usage can become large.

### When to use

Standard matching is the default matching technique, and should be your first choice unless you have need of the other techniques.

## FUZZY MATCHING

Fuzzy Matching is used when the data may have spelling errors or noise words that prevent exact matching; for example, "InaPlex" and "inaplex limted" would not match using standard matching. It uses a scoring technique to determine how close two strings are.

### Advantages

Fuzzy matching lets you match on dirty data, and optionally perform a user review of the possible matches before committing.

### Disadvantages

As with standard matching, fuzzy matching builds an in memory index on the target, with the same disadvantages. In addition, each source row has to be scored against each row in the target; if not used carefully, this can result take a long time. The effects of this can be reduced using clustering.

### When to use

Fuzzy matching is the best technique to use when the incoming data cannot reliably give an exact match against the target.

## SQL MATCHING

SQL Matching is the inverse of Standard Matching. Instead of building an in memory index using expressions, you build a SQL SELECT statement. This SQL statement is then used against the target table for each incoming record, to find the possible matches.

### Advantages

Because there is no in memory index being built, there is no startup time used to create the indexes and no memory used to maintain them.

### Disadvantages

Creating a SQL match requires you to complete a SQL SELECT statement. Inaport will provide the base of the statement to provide assistance, but you must complete it.

At run time,a SQL SELECT is executed against the target table for each incoming record. this can have performance implications if the query cost is high (for example, when used for Sage CRM.com).

### When to use

SQL matching is the best technique the time cost of building the in memory indexes for standard matching is too high. It is particularly effective when you have a relatively small number of source records going into a large target table.

## EXTERNAL FILE

External file matching uses the results of an external match engine such as Paribus from QGate. Paribus can be used to generate an XML file that shows the results of the match between the source and the target. This file can then be used as the index on the target.

### Advantages

An external match engine provides more power for fuzzy matching, and the match process might be performed as a batch process over night.

### Disadvantages

Running the match at a different time to the import means you must be careful that the database does not change between the match process and the import. In addition, you have two processes and user interfaces to manage.

### When to use

When the power of the external fuzzy match engine provides benefits over and above the native capabilities.