Class LTRThreadModule

  • All Implemented Interfaces:
    NamedListInitializedPlugin

    public final class LTRThreadModule
    extends CloseHook
    implements NamedListInitializedPlugin
    The LTRThreadModule is optionally used by the LTRQParserPlugin and LTRFeatureLoggerTransformerFactory classes to parallelize the creation of Feature.FeatureWeight objects.

    Example configuration:

      <queryParser name="ltr" class="org.apache.solr.ltr.search.LTRQParserPlugin">
         <int name="threadModule.totalPoolThreads">10</int>
         <int name="threadModule.numThreadsPerRequest">5</int>
      </queryParser>
    
      <transformer name="features" class="org.apache.solr.ltr.response.transform.LTRFeatureLoggerTransformerFactory">
         <int name="threadModule.totalPoolThreads">10</int>
         <int name="threadModule.numThreadsPerRequest">5</int>
      </transformer>
    
    If an individual solr instance is expected to receive no more than one query at a time, it is best to set totalPoolThreads and numThreadsPerRequest to the same value. If multiple queries need to be serviced simultaneously then totalPoolThreads and numThreadsPerRequest can be adjusted based on the expected response times. If the value of numThreadsPerRequest is higher, the response time for a single query will be improved up to a point. If multiple queries are serviced simultaneously, the value of totalPoolThreads imposes a contention between the queries if (totalPoolThreads < numThreadsPerRequest * total parallel queries).