anchor.diff:  val sql = new SQLContext...
   // options for Spark 1.3 need to include the target path/resource
   val options13 = Map("path" -> "spark/index", 
  -                    "pushdown"<1> -> "true", "nodes"<2> -> "someNode", "esPort"<3> -> "9200")
  +                    "pushdown"<1> -> "true", 
  +                    "nodes"<2> -> "someNode", "esPort"<3> -> "9200")
   
   // Spark 1.3 style
   val spark13DF = sql.load("org.elasticsearch.spark.sql", options13<4>)
  
positive.code: val upcomingTrip = Trip("OTP", "SFO")
  val lastWeekTrip = Trip("MUC", "OTP")
  
  val +RDD+ = sc.makeRDD(Seq(upcomingTrip, lastWeekTrip))           <3>
  EsSpark.saveToEs(rdd, "spark/docs")                               <4>
  ----
  
  
negative.code: 
  NOTE: Available only in Spark 1.3 or higher
  
  An important _hidden_ feature of using {eh} as a Spark `source` is that the connector understand the operations performed within the `DataFrame`/SQL and, by default, will _translate_ them into the appropriate https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html[QueryDSL]. In other words, the connector _pushes_ down the operations directly at the source, where the data is efficiently filtered out so that _only_ the required data is streamed back to Spark.
  This significantly increases the queries performance and minimizes the CPU, memory and I/O on both Spark and {es} clusters as only the needed data is returned (as oppose to returning the data in bulk only to be processed and discarded by Spark).
  Note the push down operations apply even when one specifies a query - the connector will _enhance_ it according to the specified SQL.
  
  