MVEL vs Javascript scripting plugin? Which scripting plugin is recommended for speed?

Hey folks,

In the past few days I have learned that scripts are expensive. I was using
scripts in term facets and that would give me horrible performance as
compared to using terms facet with forming a term similar to what the
script would produce and push it in ES at the time of indexing documents.

Although there are cases where I really don't think there is way for me to
avoid using scripts. I am not using scripts in facets but I do need them at
the time of updating documents. The rate at which I am updating documents
is pretty high as well.

By default ES comes with MVEL as the default scripting language. But there
are scripting plugins for Javascript, Groovy and Python as well. My
question is which should I use for performance? As in which plugin has the
fastest script evaluation and execution engine (in context of ES)?

Looking forward to some valuable inputs on this one.

Thanks,
Vaidik Kapoor
vaidikkapoor.info

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CACWtv5%3DyGEW9P2CUj_Q8%2Bfj-oQMSykhyQ6zaADm%2BOotwvieZ7A%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Also native scripts (java): http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html#_native_java_scripts

See first line:
Even though mvel is pretty fast, allow to register native Java based scripts for faster execution.

HTH

--
David Pilato | Technical Advocate | Elasticsearch.com
@dadoonet | @elasticsearchfr

Le 27 novembre 2013 at 12:48:44, Vaidik Kapoor (kapoor.vaidik@gmail.com) a écrit:

Hey folks,

In the past few days I have learned that scripts are expensive. I was using scripts in term facets and that would give me horrible performance as compared to using terms facet with forming a term similar to what the script would produce and push it in ES at the time of indexing documents.

Although there are cases where I really don't think there is way for me to avoid using scripts. I am not using scripts in facets but I do need them at the time of updating documents. The rate at which I am updating documents is pretty high as well.

By default ES comes with MVEL as the default scripting language. But there are scripting plugins for Javascript, Groovy and Python as well. My question is which should I use for performance? As in which plugin has the fastest script evaluation and execution engine (in context of ES)?

Looking forward to some valuable inputs on this one.

Thanks,
Vaidik Kapoor
vaidikkapoor.info

You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CACWtv5%3DyGEW9P2CUj_Q8%2Bfj-oQMSykhyQ6zaADm%2BOotwvieZ7A%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/etPan.5295de94.12200854.3e14%40MacBook-Air-de-David.local.
For more options, visit https://groups.google.com/groups/opt_out.

From what we've measured providing script in native java is way faster than
mvel.

Greets,
Andrej

Am Mittwoch, 27. November 2013 12:48:20 UTC+1 schrieb Vaidik Kapoor:

Hey folks,

In the past few days I have learned that scripts are expensive. I was
using scripts in term facets and that would give me horrible performance as
compared to using terms facet with forming a term similar to what the
script would produce and push it in ES at the time of indexing documents.

Although there are cases where I really don't think there is way for me to
avoid using scripts. I am not using scripts in facets but I do need them at
the time of updating documents. The rate at which I am updating documents
is pretty high as well.

By default ES comes with MVEL as the default scripting language. But there
are scripting plugins for Javascript, Groovy and Python as well. My
question is which should I use for performance? As in which plugin has the
fastest script evaluation and execution engine (in context of ES)?

Looking forward to some valuable inputs on this one.

Thanks,
Vaidik Kapoor
vaidikkapoor.info

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/870d3f35-01a3-41ef-a760-cc59961d3130%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.