in storehaus-elasticsearch/src/main/scala/com/twitter/storehaus/elasticsearch/ElasticSearchStringStore.scala [59:76]
override def multiGet[K1 <: String](ks: Set[K1]): Map[K1, Future[Option[String]]] = {
if (ks.isEmpty) {
Map[K1, Future[Option[String]]]()
} else {
val f = futurePool {
val request = client.prepareMultiGet()
ks.foreach(request.add(index, tipe, _))
val response = request.execute().actionGet()
response.iterator().asScala
.flatMap(r => r.getResponse match {
case null => Iterator.empty
case resp => Iterator.single(resp.getId -> Option(resp.getSourceAsString))
}).toMap
}
FutureOps.liftValues(ks, f, k => Future(None))
}
}