Verify the file content extraction tool is correctly configured for Search
Overview
IBM Connections uses the Stellent (Oracle Outside In Technology) Export utility to extract text from documents of various types. The extracted text is added to the Search index allowing users to find documents based on the content. When the Stellent utility is not configured correctly, file content will not be extracted or indexed. Therefore, search results within Connections will not contain any matches on file content.
- Copy Search conversion tools to local nodes.
- Verify exporter is working correctly:
cd /opt/IBM/Connections/data/local/search/stellent/dcs/oiexport
exporter inputpath=/path/to/input/file outputpath=/path/to/extracted/text/output outputid=FI_SEARCHTEXTFor example:
$ ./exporter inputpath=/tmp/translation.pdf outputpath=/tmp/testStellent.txt outputid=FI_SEARCHTEXT
- If the text extraction worked successfully, we see the output:
Export complete
If we see the following message, continue to the next step...
./exporter: error while loading shared libraries: libsc_ex.so: cannot open shared object file: No such file or directory
- Verify the following the operating system environment variables are set...
$ cd CNX_PROFILE/bin
$ . ./setupCmdLine
$ echo $LD_LIBRARY_PATH
$ echo $PATH
- To verify the Stellent exporter executable can be found through the PATH environment variable, run:
$ which exporter
The output of this command should contain the full path to the exporter executable, for example:
/opt/IBM/Connections/data/local/search/stellent/dcs/oiexport/exporter
- Using the WAS administrative console, ensure the WebSphere environment variable FILE_CONTENT_CONVERSION points to the exporter executable, for example:
/opt/IBM/Connections/data/local/search/stellent/dcs/oiexport/exporter
- Ensure the user account the Search WebSphere Application Server is running under has sufficient privileges. They should have read/write/execute permissions on the exporter executable and read/write file permissions on the other files in the Stellent install directory.
- Verify the libraries deployed with Stellent are compatible with the platform. For example, on a 64-bit Linux system:
$ uname -a
Linux host1 2.6.18-308.11.1.el5 #1 SMP Fri Jun 15 15:41:53 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
$ cd /opt/IBM/Connections/data/local/search/stellent/dcs/oiexport
$ file libsc_ex.so
libsc_ex.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not strippedThe Stellent installation might contain 32-bit libraries even though we are running on 64-bit platform. This is not an issue, provided the 32-bit compatible libraries are on the LD_LIBRARY_PATH or can be found on the shared library search path.
The Stellent exporter executable has a number of dependencies on both the shared libraries packaged with Stellent and on shared libraries installed on the system. To verify that required shared libraries can be found, use the ldd command on the exporter executable:
$ ldd -v exporter
Check the output of this command for any shared libraries marked as...
=> not found
For example:
- Stellent shared library not found.
Check the setting of the LD_LIBRARY_PATH operating system environment variable contains the Stellent install directory.
- System shared library not found.
If a system shared library cannot be found, then a prerequisite library is missing.
It is still possible to pick up libraries from locations other than those included in the LD_LIBRARY_PATH operating system environment variable, as long as they can be found elsewhere on the system's default search path. In addition to libc.so.6, Stellent is dependent upon the following libraries:
- libstdc++.so.5 libgcc_s.so.1
- For Red Hat Enterprise Linux 6.0 and later, it is possible that we are missing the package compat-libstdc++-33, which contains libstdc++.so.5.
Issue
On Linux 64-bit, getting error...
$ exporter inputpath=/tmp/Personal.pdf outputpath=/tmp/testStellent.txt outputid=FI_SEARCHTEXT
exporter: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
$ ldconfig -p | grep libstdc++.so.5
libstdc++.so.5 (libc6,x86-64) => /usr/lib64/libstdc++.so.5
$ echo $LD_LIBRARY_PATH
/services/oracle/InstantClient:/opt/IBM/WebSphere/Connections/data/local/search/stellent/dcs/oiexport
$ ldconfig -p | grep libstdc++.so.5
libstdc++.so.5 (libc6,x86-64) => /usr/lib64/libstdc++.so.5
$ LD_LIBRARY_PATH=/services/oracle/InstantClient:/opt/IBM/WebSphere/Connections/data/local/search/stellent/dcs/oiexport:/usr/lib64/
$ exporter inputpath=/tmp/Personal.pdf outputpath=/tmp/testStellent.txt outputid=FI_SEARCHTEXT
exporter: error while loading shared libraries: libstdc++.so.5: wrong ELF class: ELFCLASS64To fix, install Linux 32-bit and 64-bit yum "Compatibility Libraries" package
Parent topic:
Post-installation tasks