override def multiPut[K1 <: String]()

in storehaus-elasticsearch/src/main/scala/com/twitter/storehaus/elasticsearch/ElasticSearchStringStore.scala [80:93]


  override def multiPut[K1 <: String](kvs: Map[K1, Option[String]]): Map[K1, Future[Unit]] = {
    val f = mutex.acquire().flatMap {
      p =>
        futurePool {
          val bulkRequest = new BulkRequest
          kvs.foreach {
            case (k, Some(v)) => bulkRequest.add(new IndexRequest(index, tipe, k).source(v))
            case (k, None) => bulkRequest.add(new DeleteRequest(index, tipe, k))
          }
          client.bulk(bulkRequest).actionGet()
        } ensure p.release()
    }
    kvs.map {case (k, _) => k -> f.unit }(breakOut)
  }