[[indexed-scripts]]
== Indexed Scripts API

The indexed script API allows one to interact with scripts and templates
stored in an elasticsearch index. It can be used to create, update, get, 
and delete indexed scripts and templates.

[source,java]
--------------------------------------------------
PutIndexedScriptResponse = client.preparePutIndexedScript()
			 .setScriptLang("groovy")		
			 .setId("script1") 
			 .setSource("script", "_score * doc['my_numeric_field'].value")
			 .execute()
			 .actionGet();

GetIndexedScriptResponse = client.prepareGetIndexedScript()
			    .setScriptLang("groovy")
			    .setId("script1")
			    .execute()
			    .actionGet();

DeleteIndexedScriptResponse = client.prepareDeleteIndexedScript()
			    .setScriptLang("groovy")
			    .setId("script1")
			    .execute()
			    .actionGet();
--------------------------------------------------

To store templates simply use "mustache" for the scriptLang.

=== Script Language

The API allows one to set the language of the indexed script being 
interacted with. If one is not provided the default scripting language
will be used.