Es2

Implementing the ElasticSearch backend
What other requirements do these strings have though? I thought the only requirement was that they were non-empty. Unless there is anything else I'll just rename the function to non_empty_str