elasticsearch 理解线程池

elasticsearch understanding threadpool

Thread pool reference(official)

关于上面的参考,我有几个问题

  1. 对于搜索请求:如果我的索引有 2 个分片,需要多少个线程
  2. 对于bulk/write请求:如果我的索引有2个分片,需要多少个线程
  3. 写入和搜索请求是否有专用线程?即 no.of 搜索请求不影响写入 threads/thread 队列
  4. 如果线程正在写入 "Index_1" 是否会在索引上创建锁?如果我对同一索引有并行搜索请求,是否必须等到写操作完成?

内联答案

1.对于搜索请求:如果我的索引有 2 个分片,它需要多少个线程?

对于每个主分片,ES 创建一个单独的线程。

2。 bulk/write请求:如果我的索引有2个分片,需要多少个线程

同第一个回答

3.Does 写入和搜索请求有专用线程?即 no.of 搜索请求不影响写入 threads/thread 队列

是的,他们有自己的线程池。搜索池用于 For count/search/suggest 操作。 write thread pool for For single-document index/delete/update and bulk requests.更多信息在同一个官方link问题中。