Troubleshooting when files content is not found after searching

Files content might not be found unless you perform some added steps.

About this task

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 Stellent is not configured correctly, file content is not extracted or indexed. Therefore, search results within Connections do not contain any matches on file content.

Procedure

  1. Run the exporter in isolation from Connections To verify that the exporter is working correctly, run it on the command line in isolation from Connections. To run the exporter on the command line, use the user account that the Search WebSphere Application Server is running under:
    1. Change directory to the Stellent binary location, for example use the following command:
      $ cd /opt/IBM/Connections/data/local/search/stellent/dcs/oiexport
      
    2. Run the exporter command. The exporter command has the following syntax:
      exporter inputpath=<path_to_input_file> outputpath=<path_to_extracted_text_output> outputid=FI_SEARCHTEXT
    An example of the exporter command is as follows:
    $ ./exporter inputpath=/root/translation.pdf \ outputpath=/root/testStellent.txt outputid=FI_SEARCHTEXT
    If the text extraction worked successfully, you see the output:
    Export complete
    However, continue to the next step if you see a message like the following example:
    ./exporter: error while loading shared libraries: libsc_ex.so: cannot open shared object file: No such file or directory
  2. Ensure that the operating system environment variables LD_LIBRARY_PATH and PATH are set correctly in Section 1.
    Both variables must contain the Stellent installation directory. To get the current values of the environment variables, run the following commands as the user that the Search WebSphere Application Server is running under:
    $ cd app_server_root/AppServer/bin
    $ . setupCmdLine.sh
    $ echo $LD_LIBRARY_PATH
    $ echo $PATH
    To verify that the Stellent exporter can be found through the PATH environment variable, run the following command:
    $ which exporter
    The output of this command must contain the full path to the exporter:
    /opt/IBM/Connections/data/local/search/stellent/dcs/oiexport/exporter
  3. Check the WebSphere Environment, take the following steps:
    1. Using the WebSphere Application Server administrative console, ensure that the WebSphere environment variable FILE_CONTENT_CONVERSION points to the exporter. An example of the exporter is as follows:
      /opt/IBM/Connections/data/local/search/stellent/dcs/oiexport/exporter
      When the server that contains the Search application starts, it checks whether the WebSphere Application Server FILE_CONTENT_CONVERSION environment variable points to a path that contains the Stellent binary files.
    2. Verify that the SystemOut.log contains similar lines to the following message:
      [5/18/14 8:21:00:985 EDT] 00000250 DocumentIndex I com.ibm.connections.search.service.files.impl.DocumentIndexingServiceImpl 
      isEnvironmentValid - FILE_CONTENT_CONVERSION: /opt/IBM/Connections/search/search/search/dcs/oiexport/exporter
      [5/18/14 8:21:00:986 EDT] 00000250 DocumentIndex I com.ibm.connections.search.service.files.impl.DocumentIndexingServiceImpl 
      isEnvironmentValid: true
  4. Ensure that the user under which the Search WebSphere Application Server is running has sufficient file access privileges. This user must have read/write/execute permissions on the exporter and read/write permissions on the other files in the Stellent installation directory.
  5. Verify that the libraries that are deployed with Stellent are compatible with your operating system.
    For example, on a 64-bit Linux system, you can verify the library as follows:
    $ 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 stripped
    Note: Your Stellent installation might contain 32-bit libraries although you are running on a 64-bit operating system. This disparity is not an issue if the 32-bit compatible libraries are on the LD_LIBRARY_PATH or can be found on the shared library search path.
  6. Verify shared library dependencies.
    The Stellent exporter has a number of dependencies on both the shared libraries that are packaged with Stellent and on shared libraries that are installed on your system. To verify that all the required shared libraries can be found, use the ldd command on the exporter using the following command:
    $ ldd -v exporter
    1. Check the output of this command for any shared libraries that are marked as => not found.
      • Stellent shared library not found
        If a Stellent shared library cannot be found, then check that the setting of your LD_LIBRARY_PATH operating system environment variable contains the Stellent installation directory.
        System shared library not found
        If a system shared library cannot be found, then you are missing a prerequisite library.
        Note: If they can be found elsewhere on the system's default search path, you can still pick up libraries from locations other than the locations included in the LD_LIBRARY_PATH operating system environment variable.
        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 you are missing the package compat-libstdc++-33. This package contains libstdc++.so.5.

Results

The Stellent exporter has a number of dependencies on both the shared libraries that are packaged with Stellent and on shared libraries that are installed on your system. To verify that all the required shared libraries can be found, use the ldd command on the exporter as follows: $ ldd -v exporter. Check the output of this command for any shared libraries that are marked as => not found.. For example:
  • Stellent shared library not found. If a Stellent shared library cannot be found, then check that the setting of your LD_LIBRARY_PATH operating system environment variable contains the Stellent installation directory.
  • System shared library not found. If a system shared library cannot be found, then a prerequisite library is missing.
    Note: If they can be found elsewhere on the system's default search path, you can still pick up libraries from locations other than those locations included in the LD_LIBRARY_PATH operating system environment variable. 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 you are missing the package compat-libstdc++-33, which contains libstdc++.so.5.