How can I Set a field as non-analyzed in Logstash before sending it to elasticsearch.
You cannot, that only happens on the ES side.
Not even in Logstash v 2.3??
No, not analysed is an ES concept, in LS it is just a string.
You need to use index templates to change how fields are mapped.