2 Integrating with IBM Global Name Recognition
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:
System Requirements
To enable EDQ connectivity with IBM GNR, you must have the following:
-
EDQ 12c (12.2.1.1.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.
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.
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.
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
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 theMakefile
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.
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.
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
andcustTaqFile
. In GNR 3.2, justtaqFile
is used. The EDQEDQ GNR connector looks fortaqFile
,ibmTaqFile
andcustTaqFile
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 theanglo
reg file. -
Some settings have been added to the
[parms]
sections, and others have been removed.