2 Integrating with IBM Global Name Recognition

This chapter describes how to integrate EDQ with IBM Global Name Recognition (GNR).

You can configure EDQ to connect to IBM GNR to facilitate linguistic analysis of names, and linguistically sensitive name searching.

This chapter includes the following sections:

2.1 System Requirements

To enable EDQ connectivity with IBM GNR, you must have the following:

  • EDQ 12c (12.2.1.1.0 and 12.2.1.2.0) installed on 64-bit AIX operating system or Linux operating system running 64-bit Java.

  • IBM GNR 4.2.1 (4.2 + 4.2.1 fixpack) or later, including the hotfix based on GNR 4.2.2 (4.2 +4.2.2 fixpack). For more information, see the IBM website at http://www.ibm.com.

    EDQ does not make use of any of the web services provided by GNR, so you do not need to configure these during GNR installation.

    Note:

    GNR can only be installed on an EDQ instance if you have the required license agreements with both Oracle and IBM.

2.2 Configuring the EDQ Server

The LD_LIBRARY_PATH must be set as required for the installation environment.

The EDQ GNR analytic processors use a shared library (.so) in the lib64 directory of the GNR installation. This directory must be specified in an environment variable passed to the EDQ server.

In a Linux 64-bit environment, the environment variable is LD_LIBRARY_PATH; for example:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:gnr-installation-dir/lib64

gnr-installation-dir is the GNR installation path; for example, /opt/GNR/GNM.

In an AIX environment, the environment variable name is LIBPATH instead of LD_LIBRARY_PATH.

Note:

The environment variable must be available to the application server process.

2.3 Building the Search Library

The GNR Search Processor uses a native library that must be linked with the GNR libraries.

Oracle supplies these files to create the library:

  • Two Makefile templates, one for each platform, that script the building of the search library

  • The namehunter.o object module file

When building the library on an AIX system, IBM C++ must be available. When building the library on Linux systems, the GCC C++ compiler must be available and it must be of the same version used to create the GNR libraries, as specified in the IBM GNR documentation.

The Makefile template for a 64-bit AIX operating system is as follows:

# Build library from object file
# ------------------------------

GNR=/opt/GNR/GNM
CFLAGS=-qmkshrobj
LIBS=-lNameHunter -lNameTransliterator -lsicui18n -lsicuuc -lsicudata
SDK=aix61_64-xlc9-release
LIBDIRS=-L$(GNR)/sdk/$(SDK)/lib -L$(GNR)/sdk/icu4c/$(SDK)/lib

all: libnimrod.so

libnimrod.so: namehunter.o
        xlc++_r -q64 $(CFLAGS) -o $@ $? $(LIBDIRS) -lNameHunter -lNameTransliterator 
-lsicui18n -lsicuuc -lsicudata

The Makefile template for 64-bit Linux operating system is as follows:

# Build 64-bit library from object file
# --------------------------------------

GNR=/opt/GNR/GNM
CFLAGS=-shared -fPIC

all: libnimrod.so 

libnimrod.so: namehunter.o
        g++ -m64 $(CFLAGS) -o $@ $? -L$(GNR)/sdk/rhel4_64-gcc34-release/lib 
-L$(GNR)/sdk/icu4c/rhel4_64-gcc34-release/lib -lNameHunter -lNameTransliterator 
-lsicui18n -lsicuuc -lsicudata

Before running the Makefile script for your platform, ensure that the value of GNR in the Makefile template is set correctly, according to the GNR installation directory location. On the AIX operating system, also ensure that the value of SDK is set correctly, according to the system architecture.

After running the edited Makefile, the newly created libnimrod.so shared library file can be installed anywhere and can be copied to other systems with GNR installs.

2.4 Configuring the GNR Connector

The EDQ GNR connector requires three types of configuration files to integrate it with GNR:

  • The gnr.properties properties file in the EDQ installation

  • The nameworks.config configuration file in the GNR installation

  • Search configuration files in the EDQ installation

2.4.1 Creating the EDQ GNR Properties File

The gnr.properties file and the gnr subdirectory that contains it must be manually created and placed in the gnr subdirectory of the EDQ configuration directory. It must contain the following properties:

gnr.install

The GNR installation path. This is the path to the directory containing the following GNR subdirectories:

  • bin

  • bin64

  • data (which contains the GNR data files)

  • lib

  • lib64

analytics.config

The absolute location of the nameworks.config configuration file in the GNR installation.

search.jnilib

The absolute location of the libnimrod.so shared library, which was built using the Makefile template.

nameworks.config

During GNR installation, a nameworks.config file is created and stored in the GNR data directory.

The critical part of the nameworks.config file is the reference files section:

[Reference Files]
NameSifter=/opt/GNR/GNM/data/SifterRules.ibm

The NameSifter value must refer to the SifterRules.ibm file in the GNR installation.

2.5 Creating the Search Configuration Files

Search configuration files are located in the gnr/search subdirectory of the EDQ configuration directory. They are read by the connector and used to set parameters for the Search function.

A sample search configuration file named search.config is available in the support/data/search subdirectory of the EDQ installation. To create a search configuration file, copy this sample file to the gnr/search subdirectory of the EDQ configuration directory and edit the copy to suit your needs.

2.5.1 Support for GNR 3.2 and GNR 4.2 in Search Configuration Files

The search configuration format changed slightly from GNR 3.2 to GNR 4.2, and the EDQ GNR connector supports both versions as far as possible. It also processes data for Organization searches.

The basic differences between the search configuration files in GNR 3.2 and GNR 4.2 are:

  • GNR 4.2 specifies the parameter files (for example, tags and variants) in the [hunter] section. GNR 3.2 uses the [search] section. The EDQ GNR connector looks in the [hunter] section first then the [search] section.

  • The tag and variant files in GNR 4.2 are specified by keys such as ibmTaqFile and custTaqFile. In GNR 3.2, just taqFile is used. The EDQEDQ GNR connector looks for taqFile, ibmTaqFile and custTaqFile and loads each if found. The same rules are used for variant and terms files.

  • The generic reg file is set by a specific genericRegFile setting; in GNR 3.2 this always defaults to the anglo reg file.

  • Some settings have been added to the [parms] sections, and others have been removed.