|  | @@ -151,6 +151,8 @@ public class ThreadPool implements ReportingService<ThreadPoolInfo>, Scheduler {
 | 
	
		
			
				|  |  |          entry(Names.SYSTEM_CRITICAL_WRITE, ThreadPoolType.FIXED)
 | 
	
		
			
				|  |  |      );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    public static final double searchAutoscalingEWMA = 0.1;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      private final Map<String, ExecutorHolder> executors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private final ThreadPoolInfo threadPoolInfo;
 | 
	
	
		
			
				|  | @@ -222,7 +224,13 @@ public class ThreadPool implements ReportingService<ThreadPoolInfo>, Scheduler {
 | 
	
		
			
				|  |  |          builders.put(Names.ANALYZE, new FixedExecutorBuilder(settings, Names.ANALYZE, 1, 16, TaskTrackingConfig.DO_NOT_TRACK));
 | 
	
		
			
				|  |  |          builders.put(
 | 
	
		
			
				|  |  |              Names.SEARCH,
 | 
	
		
			
				|  |  | -            new FixedExecutorBuilder(settings, Names.SEARCH, searchOrGetThreadPoolSize, 1000, TaskTrackingConfig.DEFAULT)
 | 
	
		
			
				|  |  | +            new FixedExecutorBuilder(
 | 
	
		
			
				|  |  | +                settings,
 | 
	
		
			
				|  |  | +                Names.SEARCH,
 | 
	
		
			
				|  |  | +                searchOrGetThreadPoolSize,
 | 
	
		
			
				|  |  | +                1000,
 | 
	
		
			
				|  |  | +                new TaskTrackingConfig(true, searchAutoscalingEWMA)
 | 
	
		
			
				|  |  | +            )
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  |          builders.put(
 | 
	
		
			
				|  |  |              Names.SEARCH_WORKER,
 | 
	
	
		
			
				|  | @@ -230,7 +238,13 @@ public class ThreadPool implements ReportingService<ThreadPoolInfo>, Scheduler {
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  |          builders.put(
 | 
	
		
			
				|  |  |              Names.SEARCH_COORDINATION,
 | 
	
		
			
				|  |  | -            new FixedExecutorBuilder(settings, Names.SEARCH_COORDINATION, halfProc, 1000, TaskTrackingConfig.DEFAULT)
 | 
	
		
			
				|  |  | +            new FixedExecutorBuilder(
 | 
	
		
			
				|  |  | +                settings,
 | 
	
		
			
				|  |  | +                Names.SEARCH_COORDINATION,
 | 
	
		
			
				|  |  | +                halfProc,
 | 
	
		
			
				|  |  | +                1000,
 | 
	
		
			
				|  |  | +                new TaskTrackingConfig(true, searchAutoscalingEWMA)
 | 
	
		
			
				|  |  | +            )
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  |          builders.put(
 | 
	
		
			
				|  |  |              Names.AUTO_COMPLETE,
 |