I'm upgrading my plugin to 1.3.0 from 0.90.3 and i'm having some troubles
with my customScoreQuery that has become a functionScoreQuery.
Here's what i did: I changed the ES version to 1.3.0 in my pom.xml, adapted
my code regarding classes and methods that did not exists anymore so it
compiles and launched the tests.
Just to be clear, my tests are executed in local mode. My client is
generated using
client = NodeBuilder.nodeBuilder().local(true).node().client();
So the test about customizing the score fails with the following error: dynamic
scripting for [mvel] disabled
I expected that as I think i read it somewhere in the changelogs. Here's
what the code looks like:
If mvel is disabled, shouldn't groovy handle this automatically ? or is my
code not groovy-compliant ?
Anyway i thought i may need to explicitly declare i'm using groovy so i
added "groovy" as a second parameter to my scriptFunction
And there i got the following error: script_lang not supported [groovy]
I tried adding the elasticsearch-lang-groovy artifact to my pom.xml but
that only resulted in hundred of errors that looked like conflicts as if ES
already carried groovy in it's package (which I just checked and seems to
be the case).
I think this is all due to the local node that may not be loading up the
groovy plugin but i have no clue on how to do so.
Anyway i thought i may need to explicitly declare i'm using groovy so i added "groovy" as a second parameter to my scriptFunction
And there i got the following error: script_lang not supported [groovy]
Indeed, that's what you need to do. It should work I think. Never played with it though.
I'm upgrading my plugin to 1.3.0 from 0.90.3 and i'm having some troubles with my customScoreQuery that has become a functionScoreQuery.
Here's what i did: I changed the ES version to 1.3.0 in my pom.xml, adapted my code regarding classes and methods that did not exists anymore so it compiles and launched the tests.
Just to be clear, my tests are executed in local mode. My client is generated using
client = NodeBuilder.nodeBuilder().local(true).node().client();
So the test about customizing the score fails with the following error: dynamic scripting for [mvel] disabled
I expected that as I think i read it somewhere in the changelogs. Here's what the code looks like:
If mvel is disabled, shouldn't groovy handle this automatically ? or is my code not groovy-compliant ?
Anyway i thought i may need to explicitly declare i'm using groovy so i added "groovy" as a second parameter to my scriptFunction
And there i got the following error: script_lang not supported [groovy]
I tried adding the elasticsearch-lang-groovy artifact to my pom.xml but that only resulted in hundred of errors that looked like conflicts as if ES already carried groovy in it's package (which I just checked and seems to be the case).
I think this is all due to the local node that may not be loading up the groovy plugin but i have no clue on how to do so.
I tried, as you suggested, to activate dynamic scripting and to force
groovy as a default_lang but the results stay unchanged.
And yeah, no other node on the cluster.. Here's the test's output logs:
TestClient: Loading config files...
TestClient: Creating local node...
juil. 30, 2014 10:43:39 AM org.elasticsearch.node
Infos: [Gardevoir] version[1.3.0], pid[6876],
build[1265b14/2014-07-23T13:46:36Z]
juil. 30, 2014 10:43:39 AM org.elasticsearch.node
Infos: [Gardevoir] initializing ...
juil. 30, 2014 10:43:39 AM org.elasticsearch.plugins
Infos: [Gardevoir] loaded , sites
juil. 30, 2014 10:43:40 AM org.elasticsearch.node
Infos: [Gardevoir] initialized
juil. 30, 2014 10:43:40 AM org.elasticsearch.node
Infos: [Gardevoir] starting ...
juil. 30, 2014 10:43:40 AM org.elasticsearch.transport
Infos: [Gardevoir] bound_address {local[1]}, publish_address {local[1]}
juil. 30, 2014 10:43:40 AM org.elasticsearch.discovery
Infos: [Gardevoir] elasticsearch/WFBIDGAJSgGjs2Pg2zCSiw
juil. 30, 2014 10:43:40 AM org.elasticsearch.cluster.service
Infos: [Gardevoir] new_master
[Gardevoir][WFBIDGAJSgGjs2Pg2zCSiw][Laurent-PC][local[1]]{local=true},
reason: local-disco-initial_connect(master)
juil. 30, 2014 10:43:40 AM org.elasticsearch.gateway
Infos: [Gardevoir] recovered [0] indices into cluster_state
juil. 30, 2014 10:43:41 AM org.elasticsearch.http
Infos: [Gardevoir] bound_address {inet[/0:0:0:0:0:0:0:0:9200]},
publish_address {inet[/192.168.1.22:9200]}
juil. 30, 2014 10:43:41 AM org.elasticsearch.node
Infos: [Gardevoir] started
TestClient: Creating index test_testclient...
juil. 30, 2014 10:43:41 AM org.elasticsearch.cluster.metadata
Infos: [Gardevoir] [test_testclient] creating index, cause [api], shards
[1]/[0], mappings [testtype]
TestClient: Seeding test data...
TestClient: Seededjuil. 30, 2014 10:43:41 AM
org.elasticsearch.cluster.metadata
Infos: [Gardevoir] [test_testclient] update_mapping [testtype] (dynamic)
.......... 3 documents
TestClient: Deleting index test_testclient...
TestClient: Shuting down local node... Done.
I extracted what i could from my code into this gist:
I used those files in a brand new maven project and got to reproduce the
error.
Hope you can help.
Thanks again
Regards,
Laurent
On Tuesday, July 29, 2014 6:10:02 PM UTC+2, David Pilato wrote:
Anyway i thought i may need to explicitly declare i'm using groovy so i
added "groovy" as a second parameter to my scriptFunction
And there i got the following error: script_lang not supported [groovy]
Indeed, that's what you need to do. It should work I think. Never played
with it though.
Le 29 juillet 2014 à 17:57:30, Laurent T. (lau.t...@gmail.com
<javascript:>) a écrit:
Hi,
I'm upgrading my plugin to 1.3.0 from 0.90.3 and i'm having some troubles
with my customScoreQuery that has become a functionScoreQuery.
Here's what i did: I changed the ES version to 1.3.0 in my pom.xml,
adapted my code regarding classes and methods that did not exists anymore
so it compiles and launched the tests.
Just to be clear, my tests are executed in local mode. My client is
generated using
client = NodeBuilder.nodeBuilder().local(true).node().client();
So the test about customizing the score fails with the following error: dynamic
scripting for [mvel] disabled
I expected that as I think i read it somewhere in the changelogs. Here's
what the code looks like:
If mvel is disabled, shouldn't groovy handle this automatically ? or is my
code not groovy-compliant ?
Anyway i thought i may need to explicitly declare i'm using groovy so i
added "groovy" as a second parameter to my scriptFunction
And there i got the following error: script_lang not supported [groovy]
I tried adding the elasticsearch-lang-groovy artifact to my pom.xml but
that only resulted in hundred of errors that looked like conflicts as if ES
already carried groovy in it's package (which I just checked and seems to
be the case).
I think this is all due to the local node that may not be loading up the
groovy plugin but i have no clue on how to do so.
The ES team decided to postpone groovy as default to Elasticsearch 1.4
version.
In 1.3, mvel is still the default, so authors have some time to rewrite
their scripts if they prefer to. So I think it is ok to not include groovy
jar by default, and make this optional to those who want to switch over to
groovy.
The ES team decided to postpone groovy as default to Elasticsearch 1.4 version.
In 1.3, mvel is still the default, so authors have some time to rewrite their scripts if they prefer to. So I think it is ok to not include groovy jar by default, and make this optional to those who want to switch over to groovy.
Jörg
On Wed, Jul 30, 2014 at 11:53 AM, Laurent T. lau.thoulon@gmail.com wrote:
Nice catch Jörg, that indeed did the trick.
@David Shouldn't groovy be bundled in the ES jar if it's the new default ?
Will it be provided by ES when i run on a live cluster ?
Thanks!
On Wednesday, July 30, 2014 11:41:23 AM UTC+2, Jörg Prante wrote:
You should try to add groovy jar to your classpath. It is not in the dependencies in Maven's pom.xml.
The ES team decided to postpone groovy as default to Elasticsearch 1.4
version.
In 1.3, mvel is still the default, so authors have some time to rewrite
their scripts if they prefer to. So I think it is ok to not include groovy
jar by default, and make this optional to those who want to switch over to
groovy.
Jörg
On Wed, Jul 30, 2014 at 11:53 AM, Laurent T. <lau.t...@gmail.com
<javascript:>> wrote:
Nice catch Jörg, that indeed did the trick.
@David Shouldn't groovy be bundled in the ES jar if it's the new default ?
Will it be provided by ES when i run on a live cluster ?
Thanks!
On Wednesday, July 30, 2014 11:41:23 AM UTC+2, Jörg Prante wrote:
You should try to add groovy jar to your classpath. It is not in the
dependencies in Maven's pom.xml.
The ES team decided to postpone groovy as default to Elasticsearch 1.4
version.
In 1.3, mvel is still the default, so authors have some time to rewrite
their scripts if they prefer to. So I think it is ok to not include groovy
jar by default, and make this optional to those who want to switch over to
groovy.
The issue you run into is "just" a Java dependency issue. Clients don't need for example to have Groovy. That's the reason it's marked as optional dependency.
Best.
--
David
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs
Just FYI, if anyone else runs into the same troubles, Groovy seems to be provided on a real cluster and it's in version 2.3.2.
On Wednesday, July 30, 2014 1:19:17 PM UTC+2, Laurent T. wrote:
Ok well, anyway i think you may want to update the docs about this cause i think i won't be the only one facing this
Thanks again to both of you.
On Wednesday, July 30, 2014 12:30:09 PM UTC+2, David Pilato wrote:
Ha! Right! Thanks Jörg!
I forgot that I run the same "issue" recently. I should add more memory to my brain cluster
The ES team decided to postpone groovy as default to Elasticsearch 1.4 version.
In 1.3, mvel is still the default, so authors have some time to rewrite their scripts if they prefer to. So I think it is ok to not include groovy jar by default, and make this optional to those who want to switch over to groovy.
Jörg
On Wed, Jul 30, 2014 at 11:53 AM, Laurent T. lau.t...@gmail.com wrote:
Nice catch Jörg, that indeed did the trick.
@David Shouldn't groovy be bundled in the ES jar if it's the new default ?
Will it be provided by ES when i run on a live cluster ?
Thanks!
On Wednesday, July 30, 2014 11:41:23 AM UTC+2, Jörg Prante wrote:
You should try to add groovy jar to your classpath. It is not in the dependencies in Maven's pom.xml.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.