public final class LTRThreadModule extends CloseHook implements NamedListInitializedPlugin
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).| Constructor and Description |
|---|
LTRThreadModule() |
| Modifier and Type | Method and Description |
|---|---|
void |
acquireLTRSemaphore() |
Semaphore |
createQuerySemaphore() |
void |
execute(Runnable command) |
static LTRThreadModule |
getInstance(NamedList args) |
void |
init(NamedList args) |
void |
postClose(SolrCore core) |
void |
preClose(SolrCore core) |
void |
releaseLTRSemaphore() |
void |
setExecutor(ExecutorService sharedExecutor) |
void |
setNumThreadsPerRequest(int numThreadsPerRequest) |
void |
setTotalPoolThreads(int totalPoolThreads) |
public static LTRThreadModule getInstance(NamedList args)
public void init(NamedList args)
init in interface NamedListInitializedPluginpublic void setTotalPoolThreads(int totalPoolThreads)
public void setNumThreadsPerRequest(int numThreadsPerRequest)
public Semaphore createQuerySemaphore()
public void acquireLTRSemaphore()
throws InterruptedException
InterruptedExceptionpublic void releaseLTRSemaphore()
throws InterruptedException
InterruptedExceptionpublic void execute(Runnable command)
public void setExecutor(ExecutorService sharedExecutor)
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.