17 Administering Text Search Indexes

This chapter contains the following topics:

Note:

With JD Edwards EnterpriseOne Tools Release 9.1, you have the option to use Oracle Secure Enterprise Search instead of the default text search tool. For information about Oracle Secure Enterprise Search, see Understanding Text Search with Secure Enterprise Search.

17.1 Understanding Text Search Indexes

JD Edwards EnterpriseOne contains a text search engine that takes information from the tables and associated media objects and builds a text search index. When a text search is initiated, it goes through the text search index and returns database records that match the search criteria. In JD Edwards EnterpriseOne, the text search engine uses a business view-data source pair to retrieve table data.

Text search indexes exist as folders on a file system, so text search indexes must be accessible using a path name to the enterprise server. Administrators must designate the locations of these folders by specifying the base folder in Text Search Properties.

17.2 Defining Text Search Indexes

This section provides an overview of text search indexes and discusses how to:

  • Designate data sources for a business view.

  • Define media objects for a text search index.

  • Define languages for a text search index.

17.2.1 Understanding Text Search Indexes

To create a text search index, define the following items:

  • Business view

    To be able to perform a text search over a business view, the developer must select the Text Search option on the business view's properties form in JD Edwards EnterpriseOne OMW. Otherwise, the business view is not available for a text search.

    See JD Edwards EnterpriseOne Tools Table Conversion Guide.

  • Data source

    The data source tells the text search engine where to search for the data defined in the business view. If you do not select a data source, the text search engine searches the default data source defined in the OCM mapping.

  • Media objects

    To associate media objects with a business view-data source pair, use the Text Search Index Media Object Queue Revisions form. If no queues are specified, then all queues will be scanned.

  • Languages

    To build the index for any languages other than your base language, enter the language on the Text Search Index Language Revisions form.

17.2.2 Forms Used to Define Text Search Indexes

Form Name FormID Navigation Usage
Work With Text Search Indices W95800B ext Search Administration menu (GH9077), Text Search Indices. View and select text search business views with the associated data sources. Build, clear, and optimize text search indexes.
Text Search Index Revisions W95800A On the Work with Text Search Indices form, select a business view. Edit data sources for each business view.
Text Search Index Media Object Queue W95800E On the Work with Text Search Indices form, highlight a data source, then select Media Object Queues from the Row menu. Edit text search indexes for media object queues
Text Search Index Language Revisions W95800F On the Work with Text Search Indices form, highlight a data source, then select Languages from the Row menu. Edit text search indexes for language.

17.2.3 Designating Data Sources for a Business View

Access the Text Search Index Revisions form.

Text Search Business View

Displays the business view selected using the Work with Text Search Indices form.

Text Search Data Source

The text search data source defined for the Text Search business view.

17.2.4 Defining Media Objects for a Text Search Index

Access the Text Search Index Media Object Queue Revisions form.

Text Search Business View

The business view selected using the Work with Text Search Indices form.

Text Search Data Source

The data source selected using the Work with Text Search Indices form.

Media Object Queue Name

The name of the media object queue from the table F98MOQUE.

17.2.5 Defining Languages for a Text Search Index

Access the Text Search Index Language Revisions form.

Text Search Business View

The business view selected using the Work with Text Search Indices form.

Text Search Data Source

The data source selected using the Work with Text Search Indices form.

Language

The user defined code indicating the language.

Description

The name of the language.

17.3 Building Text Search Indexes

There are four types of builds you can perform:

  • Full

  • Incremental

  • Optimize

  • Clear

A full build indexes all the data referenced by a business view and creates a new text search index or replaces an existing text search index. You should schedule full builds regularly, depending on the frequency with which the data changes.

Note:

If a user adds a new media object to a specific record in a business view and as a result, exceeds the media object limit defined in the previous full build, the change will only take affect after the next full build is complete. In other words, the incremental build will not add this change in the text search index for this business view.

Some applications automatically perform incremental builds. An incremental build takes data entered since the last full build and adds it to the end of the text search index. This makes the data available for searching, but each time an incremental build runs, it decreases the efficiency of the text search index. To optimize the efficiency of the text search index, you need to run an optimize build.

An optimize build takes the data entered since the last full build and re-indexes it. This increases text search efficiency and ensures that text searches cover recently added data. An optimize build is not as resource-intensive as a full build, so you can schedule it more frequently.

A clear build removes all data from the text search index. Under normal circumstances you would not clear a text search index, except to free file system storage. Before you can search again, you need to do a full build. However, if you do a search after a clear build, there is no data in the index to return.

You can perform builds manually or schedule them to occur automatically. The manual Build options are off the Report and Row menus. Schedule builds using the JD Edwards EnterpriseOne Scheduler by running the following UBEs:

  • R958001 — XJE001 (Full Build).

  • R958001 — XJDE002 (Optimize).

  • R958001 — XJDE003 (Clear).

17.4 Defining Text Search Properties

This section provides an overview of text search properties and discusses how to:

  • Add a new text search business view-data source pair.

  • Define stop words.

  • Define synonyms.

  • Define topics.

17.4.1 Understanding Text Search Properties

There are three properties you can define for a text search:

  • Stop Words

    Stop words are words that are too common to search for. For example, if every service ticket uses the word "broken", you would not search on "broken". Similarly, if you only sold automobiles, searching sales receipts for the words "automobile" or "car" would be useless. Instead, you might search for specific makes and models of automobiles. By making "car" and "automobile" stop words, if you entered the search "1998 Ford Mustang Car", the system would only search for "1998 Ford Mustang", taking out the common word, "car". Stop words reduce the required file system storage for text search indexes and improve search performance.

  • Synonyms

    Synonyms are words that mean the same thing. For example, in a motorcycle dealership, the words "bike", "chopper", and "hog" all refer to a motorcycle. Motorcycle is the thesaurus word, that is the word all the synonyms point to. "Bike", "chopper", and "hog" are the synonyms. When a user enters the search word "chopper", all records containing "motorcycle", and any of its synonyms are returned.

The text search engine has predefined common stop words and synonyms for each language supported. You only need to define those that are specific to your business.

You can define synonyms and stop words globally or for specific business view-data source pairs.

17.4.2 Forms Used to Define Text Search Properties

Form Name FormID Navigation Usage
Work with Text Search Properties W95820A Text Search Administration menu (GH9077), Text Search Properties. View, add, and select text search business views-data source pairs and define maximum results and base folders.
Text Search Properties Revisions W95820B On the Work with Text Search Properties form, click Add. Add a new text search business view-data source pair and define maximum results and base folder.
Work with Text Search Stop Words W95820E On the Work with Text Search Properties form, select Stop Words from the Row or Form menu. When entered from the Row menu, view the stop words defined for a text search business view-data source pair or global stop words. When entered from the Form menu, view and edit stop words already set up in the system.
Work with Text Search Synonyms W95820C On the Work with Text Search Properties form, select Synonyms from the Form or Row menu. When entered from the Row menu, view the synonyms defined for a text search business view-data source pair, or global synonyms.

When entered from the Form menu, view and edit synonyms already set up in the system.

Work with Text Search Topics W95820I On the Work with Text Search Properties form, select Topics from the Form or Row menu. When entered from the Row menu, view the topics defined for a text search business view-data source pair, or global topics.

When entered from the Form menu, view and edit topics already set up in the system.


17.4.3 Adding a New Text Search Business View-Data Source Pair

Access the Text Search Properties Revisions form.

Text Search Business View

The name of the business view of the business view-data source pair from which to build the text search indexes.

Data Source

The name of the data source of the business view-data source pair from with to build the text search indexes.

Base Folder

The folder to contain the text search index. This folder must be accessible to the enterprise server.

Max Results

The maximum number of matches to be returned from this text search index.

17.4.4 Defining Stop Words

Access the Work with Text Search Stop Words form.

Global

This option defines stop words for all business view-data source pairs.

Business View/Data Source Specific

This option defines stop words for only one business view-data source pair.

Text Search Business View

The business view used to build the text search index.

Text Search Data Source

The database used to build the text search index.

Language

The language defined for the text search index.

17.4.5 Defining Synonyms

Access the Work with Text Search Synonyms form.

Global

This option defines synonyms for all business view-data source pairs.

Business View/Data Source Specific

This option defines synonyms for only one business view-data source pair.

Text Search Business View

The business view used to build the text search index.

Text Search Data Source

The database used to build the text search index.

Language

The language defined for the text search index.

17.4.6 Defining Topics

Access the Work with Text Search Topics form.

Global

This option defines topics for all business view-data source pairs.

Business View/Data Source Specific

This option defines topics for only one business view-data source pair.

Text Search Business View

The business view used to build the text search index.

Data Source

The database used to build the text search index.

Language

The language defined for the text search index.

17.5 Understanding Text Search with Secure Enterprise Search

This section provides an overview of Secure Enterprise Search (SES) based text search index in EnterpriseOne:

  • Configuring SES for Text Search

  • Understanding Text Search Indexes

  • Understanding Text Search Properties

Secure Enterprise Search is a standalone, self-contained server for search; it operates as a black box that indexes information from the crawler and serves up the results. It comes with its own user interface and administration; it does not, for example, need you to program using SQL or administer as a DBA.

17.5.1 Configuring SES for Text Search

This section provides an overview of SES text search and discusses:

Component Description
Crawler The SES Crawler is a Java process activated by your Oracle server according to a set schedule. When activated, the crawler spawns a configurable number of processor threads that fetch documents from various data sources. The crawler maps link relationships and analyzes them to avoid going in circles and taking wrong turns. Whenever the crawler encounters embedded, non-HTML documents during the crawling it uses filters to automatically detect the document type and to filter and index the document.
Database An Oracle11g database contains the SES-repository, which stores information about the repositories indexed by SES and the search engine index (information collected by the crawler, filtered and indexed by Oracle11g Text).
Search UI & API SES provides an out-of-the-box user interface to the Server. It also provides a web services API for building custom applications for querying indexed data, and contains interfaces for Basic Search Form, Advanced Search Form, Query Result Display, URL registration, authentication and authorization, and so on.
Administration Tool and Interface The SES administration tool is a browser-based application that you use to configure and schedule the crawler, configure the server, run several reporting features, and other similar tasks.
Federator Via the Suggested Content feature, SES also provides the ability to federate queries to other engines that implement their own search mail servers, Internet search engines, and specific applications. Additionally, SES provides the ability to federate queries to other SES instances. These results can be combined and displayed together along with those results served off the internal index of SES Server.

Figure 17-1 Oracle Enterprise Search

Description of Figure 17-1 follows
Description of "Figure 17-1 Oracle Enterprise Search"

17.5.1.1 Prerequisites

  • SES is installed and running

  • Create RSS Crawler Source

To create the RSS Crawler Source; install the RSS Crawler plugin as "RSSCrawler".

  1. Login at the SES Admin screen.

  2. Go to Global Settings tab.

  3. Click Source Types.

  4. Click the Create button.

  5. Specify the following details:

    Field Description
    Name RSSCrawler
    Description Crawler plug-in for RSS connector
    Plug-in Manager Java Class Name oracle.search.plugin.rss.RSSCrawlerManager
    Plug-in JAR file name oracleapplications/rsscrawler.jar

  6. Click next.

  7. Click Finish.

17.5.1.2 Configuring Enterprise Server for SES

To configure the Enterprise Server for SES create an FTP user with read-only permission to the FTP folder. This is necessary because if you give full permission to the FTP user, the SES crawler will delete the actual XML feed after successfully crawling/indexing. The JDE user(i.e user account used for starting the kernels) should have full permission (r+w) to the FTP folder.

17.5.1.3 JAR files required for SES Admin Api's

  javax.activation_1.1.jar
  javax.xml.soap_1.3.1.0.jar
  javax.xml.stream_1.1.1.0.jar
  javax.jws_2.0.jar
  glassfish.jaxb.xjc_1.2.0.0_2-1-7.jar
  javax.xml.bind_2.1.1.jar
  oracle.webservices.standalone.client.jar
  search_adminapi_wsclient.jar (patched version) 

Note:

There is a limitation on 1.5 SES Admin JAR's to be in a specific order in CLASSPATH to work on certain JVM's especially Solaris.On Windows and Linux we didn't see any issues.To fix this issue below JAR's should be added to the JDE.INI's [JDE_CG]CLASSPATH settings in the same order as listed below (give these entries in single)

Example:

[JDE_CG]
CLASSPATH=/jdedwards/e900/system/classes/javax.activation_1.1.jar:/jdedwards/e900/system/classes/javax.xml.soap_1.3.1.0.jar:/jdedwards/e900/system/classes/javax.xml.stream_1.1.1.0.jar:/jdedwards/e900/system/classes/javax.jws_2.0.jar:/jdedwards/e900/system/classes/glassfish.jaxb.xjc_1.2.0.0_2-1-7.jar:/jdedwards/e900/system/classes/javax.xml.bind_2.1.1.jar:/jdedwards/e900/system/classes/oracle.webservices.standalone.client.jar:/jdedwards/e900/system/classes/search_adminapi_wsclient.jar

17.5.1.4 JDE.INI settings for Text Search Kernel (Enterprise Server)

[JDENET]
...
...
maxKernelRanges=34
....
....
[JDENET_KERNEL_DEF34]
krnlName=TEXTSEARCH KERNEL
dispatchDLLName=searchkrnl.dll
dispatchDLLFunction=_JDEK_DispatchTextSearchMessage@28
maxNumberOfProcesses=1
numberOfAutoStartProcesses=1

17.5.1.5 JDE.INI Settings for Media Object Queue for IBM i Enterprise Server Only

Below setting is required on IBM i Enterprise server if Media Object Queue location on Deployment server is not shared and requires an FTP access. By default UseFTPMOQUE is set to FALSE meaning the MOQUEUE folder is shared and doesn't require FTP.

[TEXTSEARCH]
UseFTPMOQUE=TRUE
FTPUser=anonymous
FTPPwd=anonymous

17.5.2 Understanding Text Search Indexes

This section provides an overview of text search indexes and discusses how to:

  • Designate data sources for a business view.

  • Define media objects for a text search index.

  • Define languages for a text search index.

  • Building Text Search Indexes

To create a text search index, define the following items:

  • Business view

    To be able to perform a text search over a business view, the developer must select the Text Search option on the business view's properties form in JD Edwards EnterpriseOne OMW. Otherwise, the business view is not available for a text search.

    See JD Edwards EnterpriseOne Tools Table Conversion Guide.

  • Data source

    The data source tells the text search engine where to search for the data defined in the business view. If you do not select a data source, the text search engine searches the default data source defined in the OCM mapping.

  • Media objects

    To associate media objects with a business view-data source pair, use the Text Search Index Media Object Queue Revisions form. If no queues are specified, then all queues will be scanned.

  • Languages

    To build the index for any language, enter the language on the Text Search Index Language Revisions form.

Forms Used to Define Text Search Indexes

Application: P95800A

Form Name Form ID Navigation Usage
Work With Text Search Indices W95800AB Text Search Administration menu (GH9077), Text Search Indices.Fast Path P95800A View and select text search business views with the associated data sources. Build and clear text search indexes.
Text Search Index Revisions W95800AA On the Work with Text Search Indices form, select a business view. Edit data sources for each business view.
Text Search Index Media Object Queue Revisions W95800AC On the Work with Text Search Indices form, highlight a data source, then select Media Object Queues from the Row menu. Edit text search indexes for media object queues
Text Search Index Language Revisions W95800AD On the Work with Text Search Indices form, highlight a data source, then select Languages from the Row menu. Edit text search indexes for language.

17.5.2.1 Designating Data Sources for a Business View

Access the Text Search Index Revisions form.

Text Search Business View Displays the business view selected using the Work with Text Search Indices form.

Text Search Data Source The text search data source defined for the Text Search business view.

17.5.2.2 Defining Media Objects for a Text Search Index

Access the Text Search Index Media Object Queue Revisions form.

Text Search Business View The business view selected using the Work with Text Search Indices form.

Text Search Data Source The data source selected using the Work with Text Search Indices form.

Media Object Queue Name The name of the media object queue from the table F98MOQUE.

17.5.2.3 Defining Languages for a Text Search Index

Access the Text Search Index Language Revisions form.

Text Search Business View The business view selected using the Work with Text Search Indices form.

Text Search Data Source The data source selected using the Work with Text Search Indices form.

Language The user defined code indicating the language.

Description The name of the language.

17.5.2.4 Building Text Search Indexes

The three types of builds you can perform are:

  • Full

  • Incremental

  • Clear

Full

A full build indexes all the data referenced by a business view and creates a new text search index or replaces an existing text search index. You should schedule full builds regularly, depending on the frequency with which the data changes.

Note:

If a user adds a new media object to a specific record in a business view and as a result, exceeds the media object limit defined in the previous full build, the change will only take affect after the next full build is complete. In other words, the incremental build will not add this change in the text search index for this business view.

Incremental

Some applications automatically perform incremental builds. An incremental build takes data entered since the last full build and adds it to the end of the text search index. This makes the data available for searching.

See "Understanding Text Search Controls" in the JD Edwards EnterpriseOne Tools Form Design Aid Guide

Clear

A clear build removes all data from the text search index. Under normal circumstances you would not clear a text search index, except to free file system storage. Before you can search again, you will need to do a full build. If you do a search after a clear build, there is no data in the index to return.

You can perform builds manually or schedule them to occur automatically. The manual Build options are on the Report and Row menus.

The Full Build and clear build can be called either interactively (via Row->Build) or as a batch (via Report->Build).

The build can also be scheduled using the JD Edwards EnterpriseOne Scheduler by running the following UBEs:

  • R958001A - XJDE0001 (SES Text Search Build).

  • R958001A - XJDE0003 (SES clear build).

Note:

Using interactive applications to run the full build is not recommended for views having a large number of records. This is because JDENETTimeout of the FAT/Enterprise server and the EnterpriseServerTimeout of the HTML server have to be increased so that requests sent to Enterprise Server or the requests sent to Text Search Kernel from Call Object kernel will not timeout.

The numbers to which these settings have to be increased vary from view to view and changing these settings will have an impact on other functionality as well.

When building views with a large number of records, it is recommended to use the Report R958001A (i.e. by creating version for the desired view).

17.5.3 Understanding Text Search Properties

This section provides an overview of the text search properties and defines:

  • Global properties

  • Business View/Data Source Specific

17.5.3.1 Forms Used to Define Text Search Properties

Application: P95820A

Form Name Form ID Navigation Usage
Work with Text Search Properties W95820AA Fast path the application P95820A View, add, and select text search business views-data source pairs and define maximum results and base folders.
Text Search Properties Revisions W95820AB On the Work with Text Search Properties form, Select BusinessView/ Datasource Specific and click Add. Add a new text search business view-data source pair and define maximum Text search results.
Text Search Engine Selection W95820B On the Work with TextSearch Properties form, Select Global and click add/select existing record Select /change the text search Engine

17.5.3.2 Global Properties

As part of Tools release 9.1, Oracle SES is the only supported text search engine.

Oracle SES Engine server properties fields:

Field Description
SES Server URL Valid SES server's admin url http://mySESServer:7777/search/api/admin/AdminService
SES Server User ID 'eqsys' is the standard user id
SES Server password: Password for the eqsys userid
Validate SES To verify the SES server URL, eqsys user id and password details given in the form.
Generate Index for Numeric Fields Y or N (Yes will index the numbers)
FTP Server URL Valid ftp URL pointing to the RSS feeds directory
FTP Server User ID FTP user id
FTP Server password FTP password
Validate FTP To verify the userID, password and the server information given in the FTP server URL.
Base folder Local directory on the enterprise server.RSS feeds will be generated in this location.
Text Search Max Results Default max results for any Text search view. 300 is the default value.

17.5.3.3 Business View/Data Source Specific Properties

There are specific properties applicable to each Business view and Data Source pair.

To add a new text search business view and data source pair access the Text Search Properties Revisions form.

Field Description
Text Search Business View The name of the business view of the business view-data source pair from which to build the text search indexes.
Text Search Data Source The name of the data source of the business view-data source pair to build the text search indexes.
Text Search Max Results The maximum number of matches to be returned from this text search index.
Generate Index for Numeric Fields Y or N (Yes will index the numbers)

17.5.3.4 Troubleshooting

If an error occurs during indexing, check the following:

  1. Call object kernel that processed the Business Function.

  2. Text Search kernel log on the Enterprise Server.

  3. Access the SES admin page -> Schedules -> Identify the schedule name based on the view, data source and language you are indexing. Open the log file and look for errors/exceptions.

The SES_CLEANUP environment variable can be set to FALSE to look at the RSS feeds generated as part of the indexing. Ex: - SES_CLEANUP=FALSE. The default value is TRUE which means the RSS feed will be deleted automatically after an index build operation.

Web client error:

JAS_MSG346: JAS database failure: [TEXT_SEARCH_ERROR] A text search error has occurred: http.proxyPort must be set to a integer value. Value set is '' [java.lang.IllegalArgumentException]

Access the FAT clients JDE.ini settings and modify the following:

[LOCALWEB] 
httpProxySet=true
 
# HTTP Proxy server host
httpProxyHost=< address of proxy server >
#Ex:-httpProxyHost=www-proxy.domain.oracle.com
 
# HTTP Proxy server port
httpProxyPort= port of proxy server
#Ex:-httpProxyPort=80