Eduction matching is usually fast, but Micro Focus recommends that you set limits on processing so that your application can deal with a variety of input.
For example, for a large input text with a high density of matches, it can be time-consuming to retrieve all the matches. You must consider carefully whether your application requires all matches (which might number in the millions), or if it is enough to capture the first few hundred for any particular piece of input text.
You can control the number of matches to process by using the MaxMatchesPerDoc configuration parameter.
The following configuration parameters also strong affect the number of matches you might obtain:
To control the amount of time that Eduction can spend processing data, you can set the RequestTimeout configuration parameter.
In the Eduction SDK, you can use the following steps:
Set the RequestTimeout configuration parameter. Alternatively:
For C, use the function EdkSetRequestTimeout on the edk engine, or EdkSessionSetRequestTimeout on an individual session.
For .NET, use the ITextExtractionSession::SetRequestTimeout method.
For Java, use the function TextExtractionEngine::setRequestTimeout to set a timeout for the engine, or TextExtractionSession::setRequestTimeout to set a timeout for the session.
Get the current time in epoch seconds, for example by using time() in C, System.DateTimeOffset.Now.ToUnixTimeSeconds() in .NET, or java.time.Instant.now().getEpochSecond()) in Java.
In the Eduction SDK, send the time in epoch seconds to the session by using one of the following option:
For C, use EdkGetNextMatchTimed or EdkFillMatchesTimed, passing in the epochseconds as the nStartTime parameter.
ITextExtractionSession::SetStartTime, passing in the epochseconds value as the start_time parameter.For Java, use TextExtractionEngine::createTimedSession passing in the epochseconds as the start parameter.
TIP: If your application does significant processing before you call Eduction, and you want to use an overall application timeout, obtain the current time in epoch seconds at the very start of your application processing rather than waiting until just before you call the Eduction functions.