Contents

What's New
Installation Overview
Installers
Installation Modes
Installer Account
Installer Log File
Installation Requirements
Disk Space Requirements
System Memory Requirements
Installation Modes
GUI Mode
Console Mode
Silent Mode
Uninstallation
GUI Mode
Console Mode
Running TIBCO Patterns
Running the TIBCO Patterns Server
Data Persistence Options:
Encrypted Communications Options:
Search Options:
Data Persistence Options:
Logging Options:
Information Options:
Other Server Configuration Options:
Data Persistence Directories
Encrypting Network Communications
Gateway Servers and Clustering
TIBCO Hawk Interface
Server Threads
IPC Timeouts
Running in a Container
Shutting down the TIBCO Patterns Server
Running a ibi Patterns - Search Server on Microsoft Windows
Running a TIBCO Patterns Server as a Microsoft Windows Service
Running a TIBCO Patterns Server on UNIX Variants
Running the TIBCO Patterns Java Embedded Server
Server Application Interface
Library Dependencies
Upgrading an TIBCO® Patterns Installation
Introduction
The Importance of “Patterns” to Enterprises
TIBCO Patterns
A Typical Use Case: Matching People
Building and Executing Queries
TIBCO Patterns Encrypted Communication
Maintaining Patterns Tables in Memory
Characteristics of In-Memory Tables
Loading In-Memory Tables
Updating In-Memory Tables
Checkpoints of In-Memory Tables
Durable Tables
Designing Queries for TIBCO Patterns - Search
TIBCO Patterns - Search Queries
Simple Queries
Cognate Queries
Variable Attributes Queries
Date Comparisons
Predicate Queries
Complex Queries
Match Case Score Combiner
Querylet References
Weighting Factors
Scoring Modes
The Score Records Command
Thesaurus and Term Weighting
Classic Thesaurus Tables
Weighted Dictionary
Combined Thesaurus Tables
Comparing Thesaurus Table Variants
Additional Considerations Related to Thesaurus Tables
Internationalization and Character Maps
Internationalization
Character Maps
Custom Character Maps
Additional Considerations Related to Character Maps
Interpreting and Handling Patterns Output
The Meaning of a Match Score
The Number of Matches Requested
The Returned Scores
Dynamic Score Cutoffs
Tie-breaking Rules
Match Visualization
Predicates
Filtering with Predicates
Constructing Predicate Expressions
Error Conditions with Predicates
Predicates and Performance
Predicate Queries
Rules to Handle Predicate Errors
Transactions
Transactions
TIBCO Patterns - Search Transactions versus RDBMS Transactions
Explicit versus Implicit Transactions
Marking versus Locking
Dirty Reads and Object Status
Transaction Size, Memory, and Performance
Joins
Overview
Joins Example
Tables
Standard Table
Parent Table
Child Table
Records
Standard Records
Parent Records
Child Records
Compound Records
Joined Searches
Specifying Field Names
Joined Records
Join Search Modes and Types
Matching Compound Records and Querylet Grouping
Predicate Indexes and Joined Searches
Performance Considerations
Special Considerations
Working with Mixed Record Types
Prefilters and Scaling
Prefilters
Scaling for Large Data Sets and Workloads
TIBCO Patterns - Search Machine Learning Platform
TIBCO Patterns - Search Machine Learning Platform
TIBCO Patterns - Search Machine Learning Platform: Basic Concepts
Sample Problem: Record Equivalence
Supervised Learning without Explicit Rules
Characteristics of TIBCO Patterns - Search Machine Learning Models
How to Use TIBCO Patterns - Search Learn Models
How to Use Learn Models to Evaluate Feature Vectors
How to Use Learn Models for Record Matching
Handling Low Confidence Predictions
How to Use Learn Models on a Cluster
Query Builder and Query Builder Platform
An Introduction to Query Builders
An Introduction to the Query Builder Platform
Using the Query Builder Platform to Test a Query
Using the Query Builder Platform in an Application
Using the Query Builder Platform to Generate Code
Integration with Other TIBCO Patterns - Search Tools
Preparing to Train a Learn Model
Introduction
Process Flow
Prerequisites
Creating, Saving, and Opening a Project
Creating, Saving, and Opening a Project
Saving a Project
Opening a Project
Configuring the Data File and Its Fields
Defining Features
Identifying Record Pairs
Reviewing Record Pairs
Training a Learn Model
Training a Learn Model
Model and Training Options
Small Learn Models
Adaptive Parameters for Model Creation
Setting the Model and Training Options
Processing Training Suggestions
Determining if a Model is Well Trained
Handling Suggestions
Types of Training Suggestions
Suggestions to Add Pairs to Specific Subsets
Adding Pairs to Subsets that Have Validation Pairs but No Training Pairs
Adding Pairs to Underrepresented Subsets
Adding Pairs to Subsets that Have Too Few True/False Labels
Adding Pairs to Subsets that are Found in Data File but Have No Pairs
Processing a Suggestion to Add Pairs
Filtering Record Pairs for the Suggestion Subset
Suggestions to Review Existing Record Pairs
Reviewing Possibly Mislabeled Pairs
Reviewing Contradictory Pairs
Processing a Suggestion to Review Pairs
Working with Trained Models
Trained Model
Testing a Trained Model
Setting the Query Cutoff Score
Saving and Reviewing Trained Models
Saving a Copy of Current Model
Reviewing Results of a Trained Model
Exporting a Model
Getting Started
What is TIBCO Patterns Developer’s ToolKit (DevKit)?
A Simple Example
The DevKit Header File devkit.h
Compiling and Linking Programs With the DevKit
Input and Output Parameter Types
Building the Input: lpars
Building the Input: Data Records
Processing the Output of DevKit Commands
The lpar_find_lst_lpar Function
Destroying DevKit Command Output
Printing Input and Output Objects
An Important Word (and a Warning) About Error Conditions
The TIBCO Patterns Table
Matching Accelerators (prefilters)
The GIP Prefilter - Usage Details
The SORT Prefilter - Usage Details
The PSI Prefilter - Usage Details
Variable Attributes - Usage Details
Federated Tables
Federated Tables and Gateways
Communicating with TIBCO Patterns Servers
Field Names – Referencing a Field in a Table
Restrictions on Names
Essential DevKit Commands
DevKit System Initialization (lkt_devkit_init)
Loading a Database (lkt_dbload)
Reading a Database From a File (lkt_dbread)
Reading a Database From a File in Small Chunks (lkt_open_dbfile)
Reading a Database From a File in Small Chunks (lkt_read_records)
Deleting a Database (lkt_dbdelete)
Renaming a Database (lkt_dbmove)
Checking the Status of Loaded Databases (lkt_dblist)
Invoking TIBCO Patterns Matching (lkt_dbsearch)
Online Cluster Configuration Modification (lkt_cl_cfg_reload)
Termination and Cleanup (lkt_devkit_shutdown)
Getting Version Information (lkt_devkit_version)
An Explanation of Match Scores
Score Types
Tie Breaking
Dynamic Score Cutoffs
Partition Indexes
Detailed Description
Updating Loaded Databases
Adding Records to a Database (lkt_dbrecadd)
Deleting Records From a Database (lkt_dbrecdelete)
Replacing Records in a Database (lkt_dbrecreplace)
Updating Records in a Database (lkt_dbrecupdate)
Looking Up Records in a Database (lkt_dbrecget)
Scanning Records in a Table
Scanning Records Using a Cursor (lkt_dbrecnext)
Checkpointing and Restoring a Database
Checkpoint (lkt_checkpoint)
Restore (lkt_restore)
Checking Server Status
Checking Server Status (lkt_svrnoop)
Getting TIBCO Patterns Servers Version Information (lkt_svrversion)
Getting command performance statistics (lkt_svrcmdstats)
Server Shutdown
Server Logging On
Server Logging Off
Scoring a Set of Records (lkt_scorerecords)
Query Construction
Simple Query
Cognate Query
Attributes Query
Predicate Query
Query Combiners
MatchCase Score Combiner
First Valid Score Combiner
Named Querylets
Querylet References
Old-style Query Construction
Predicate Expressions
Predicate lpar Expressions
Predicate Functions and Argument Lists
Controlling Predicate Error Handling
Predicate String Expressions
Predicate Value Data-type Conversions
Weighting Fields
Character Mapping
Creating a Custom Character Map (lkt_create_charmap)
Checking the Status of Character Maps (lkt_charmap_list)
Creating a Custom Character Map: Example
Thesaurus Matching
Creating a Thesaurus (lkt_create_thesaurus)
Checking the Status of Loaded Thesauri (lkt_thlist)
Deleting Thesauri (lkt_delete_thesaurus)
Using a Thesaurus in a Search
Ephemeral Thesauri
Match Visualization
Multithreaded Programming With the DevKit
Transactions
Transactions Usage
Creating a New Transaction (lkt_tran_create)
Committing a Transaction (lkt_tran_commit)
Rolling Back a Transaction (lkt_tran_abort)
List Transactions (lkt_tran_list)
Transactions Example
The TIBCO Patterns Machine Learning Platform
TIBCO Patterns Machine Learning Platform
Loading a Learn Model (lkt_create_rlmodel)
Checking the Status of Loaded Learn Models (lkt_rllist)
Deleting Learn Models (lkt_delete_rlmodel)
Evaluating Feature Scores Using a Learn Model (lkt_rleval)
Using a Learn Model in a Search
Table of DevKit Error Codes and Strings
Punctuation and Whitespace Code Points Mapped by Built-in Character Maps
Frequently Asked Questions
Introduction
Product Connectivity
Data Storage
Configuring Security Options
Patterns Data Transfer Tool - Overview
Patterns Data Synchronizer - Overview
Prerequisites
Source Database: Change-log and State Tables
Command-Line Usage
Logging
Limitations
Configuration File
JDBC Support
Many-To-One Synchronization
NSC Overview
NSC Configuration Arguments
NSC Commands
Command
Batch Command
Table Commands
Table Statistics Command
Thesaurus Commands
Record Commands
Character Map Commands
Index-List Command
Query Commands
Model Commands
Checkpoint Commands
Server Interface Control Commands
Server Status and Control Commands
Online References
TIBCO Documentation and Support Services
Legal and Third-Party Notices