title: Logstash configuration: how to call the partial-update API from ElasticSearch output plugin?
body: <p>I am trying to create a data pipeline where Logstash jdbc plugin get some data with SQL query every 5 minutes and ElasticSearch output plugin puts data from the input plugin into ElasticSearch server. I want this output plugin to partial-updates existing document in ElasticSearch server. my Logstash configuration file looks like:</p>
  <pre><code>input {
      jdbc {
          jdbc_driver_library =&gt; &quot;/Users/hello/logstash-2.3.2/lib/mysql-connector-java-5.1.34.jar&quot;
          jdbc_driver_class =&gt; &quot;com.mysql.jdbc.Driver&quot;
          jdbc_connection_string =&gt; &quot;jdbc:mysql://localhost:13306/mysqlDB”
          jdbc_user =&gt; “root”
          jdbc_password =&gt; “1234”
          last_run_metadata_path =&gt; &quot;/Users/hello/.logstash_last_run_display&quot;
          statement =&gt; &quot;SELECT * FROM checkout WHERE checkout_no between :sql_last_value + 1 and :sql_last_value + 5 ORDER BY checkout_no ASC&quot;
          schedule =&gt; “*/5 * * * *&quot;
          use_column_value =&gt; true
          tracking_column =&gt; “checkout_no”
      }
  }
  
  output {
      stdout { codec =&gt; json_lines }
  
      elasticsearch {
          action =&gt; &quot;update&quot;
          index =&gt; &quot;ecs&quot;
          document_type =&gt; “checkout”
          document_id =&gt; “%{checkout_no}&quot;
          hosts =&gt; [&quot;localhost:9200&quot;]
      }
  }
  </code></pre>
  <p>the problem is that ElasticSearch output plugin appears not to call partial update API such as /{index}/{type}/{id}/_update. the manual just lists actions such as <code>index</code>, <code>delete</code>, <code>create</code>, <code>update</code>, But it doesn’t mention each action calls which REST API URL, i.e) Whether <code>update</code> action calls /{index}/{type}/{id}/_update or /{index}/{type}/{id} api (upsert). I would like to call partial update api from elastic search output plugin? Is it possible?</p>