|
Thanks, Rafal. The top_hits aggregator is working now, but could you explain why this is a security risk? We will need to use this feature in production and now I am feeling uneasy about it.
On Thursday, July 24, 2014 10:28:32 AM UTC-5, Rafał Kuć wrote:
Hello!
The error is about scripting and dynamic scripting being disabled for MVEL. The simplest way to make it work is turning on dynamic scripting by adding script.disable_dynamic: false to your elasticsearch.yml file. However for production it is not recommended for security reasons. You can also try using scripting language that is sandboxed and allows for dynamic scripting, like groovy.
--
Regards,
Rafał Kuć
Performance Monitoring * Log Analytics * Search Analytics
Solr & Elasticsearch Support * http://sematext.com/
|
Hello, I am trying to follow the field collapse example on this page, which uses the new 1.3.0 top_hits aggregator to return the top scoring document for a given criteria. To my knowledge, I set up the settings and mappings correctly, but I am getting a strange error when I try to run the query that the example provided.
curl -XDELETE "http://localhost:9200/personsearch"
curl -XPUT "http://localhost:9200/personsearch" -d'
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"idx_analyzer": {
"tokenizer": "whitespace",
"filter": [
"lowercase",
"snowball",
"XYZSynFilter"
]
},
"sch_analyzer": {
"tokenizer": "standard",
"filter": [
"standard",
"lowercase",
"stop"
]
},
"sch_comma_analyzer": {
"tokenizer": "CommaTokenizer",
"filter": [
"standard",
"lowercase",
"stop"
]
}
},
"filter": {
"XYZSynFilter": {
"type": "synonym",
"synonyms": [
"aids virus, aids, retrovirology, hiv"
],
"expand": true,
"ignore_case": true
}
},
"tokenizer": {
"CommaTokenizer": {
"type": "pattern",
"pattern": ","
}
}
}
}
},
"mappings": {
"employees": {
"properties": {
"fullName": {
"type": "string",
"search_analyzer": "sch_analyzer"
},
"specialty": {
"type": "string",
"search_analyzer": "sch_comma_analyzer"
}
}
}
}
}'
curl -XPUT "http://localhost:9200/personsearch/employees/1" -d'
{
"fullName": "Don White",
"specialty": "Adult Retrovirology, aids, hiv"
}'
curl -XPUT "http://localhost:9200/personsearch/employees/2" -d'
{
"fullName": "Don White",
"specialty": "general practitioner, physician, general, primary care"
}'
curl -XPUT "http://localhost:9200/personsearch/employees/3" -d'
{
"fullName": "Don White",
"specialty": "icu, er"
}'
curl -XPUT "http://localhost:9200/personsearch/employees/4" -d'
{
"fullName": "Terrance Gartner",
"specialty": "oncology, cancer, research, tumor, polyp"
}'
curl -XPUT "http://localhost:9200/personsearch/employees/5" -d'
{
"fullName": "Terrance Gartner",
"specialty": "physician, general, GP, primary care, aids"
}'
curl -XPUT "http://localhost:9200/personsearch/employees/6" -d'
{
"fullName": "Terrance Gartner",
"specialty": "emergency care, icu, ambulance, er, urgent"
}'
curl -XPUT "http://localhost:9200/personsearch/employees/7" -d'
{
"fullName": "Carter Taylor",
"specialty": "neurosurgery, brain surgery, brain tumor"
}'
curl -XPUT "http://localhost:9200/personsearch/employees/8" -d'
{
"fullName": "Carter Taylor",
"specialty": "trauma, icu, emergency care, ER, urgent care"
}'
Executing this search (per the example) gives me an error
curl -XGET "http://localhost:9200/personsearch/employees/_search?pretty=true" -d'
{
"query": {
"query_string": {
"query": "icu"
}
},
"aggs": {
"most-rel-profile": {
"terms": {
"field": "profileName",
"order": {
"top_hit": "desc"
}
},
"aggs": {
"top_tags_hits": {
"top_hits": {}
},
"top_hit": {
"max": {
"script": "_doc.score"
}
}
}
}
}
}'
{
"error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[4gtV_OJESWWSgMnbTruKyA][personsearch][0]: SearchParseException[[personsearch][0]: query[_all:icu],from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\": {\n \"query_string\": {\n \"query\": \"icu\"\n }\n },\n \"aggs\": {\n \"most-rel-profile\": {\n \"terms\": {\n \"field\": \"profileName\",\n \"order\": {\n \"top_hit\": \"desc\"\n }\n },\n \"aggs\": {\n \"top_tags_hits\": {\n \"top_hits\": {}\n },\n \"top_hit\": {\n \"max\": {\n \"script\": \"_doc.score\"\n }\n }\n }\n }\n }\n}\n]]]; nested: ScriptException[dynamic scripting for [mvel] disabled]; }{[4gtV_OJESWWSgMnbTruKyA][personsearch][1]: SearchParseException[[personsearch][1]: query[_all:icu],from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\": {\n \"query_string\": {\n \"query\": \"icu\"\n }\n },\n \"aggs\": {\n \"most-rel-profile\": {\n \"terms\": {\n \"field\": \"profileName\",\n \"order\": {\n \"top_hit\": \"desc\"\n }\n },\n \"aggs\": {\n \"top_tags_hits\": {\n \"top_hits\": {}\n },\n \"top_hit\": {\n \"max\": {\n \"script\": \"_doc.score\"\n }\n }\n }\n }\n }\n}\n]]]; nested: ScriptException[dynamic scripting for [mvel] disabled]; }{[4gtV_OJESWWSgMnbTruKyA][personsearch][2]: SearchParseException[[personsearch][2]: query[_all:icu],from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\": {\n \"query_string\": {\n \"query\": \"icu\"\n }\n },\n \"aggs\": {\n \"most-rel-profile\": {\n \"terms\": {\n \"field\": \"profileName\",\n \"order\": {\n \"top_hit\": \"desc\"\n }\n },\n \"aggs\": {\n \"top_tags_hits\": {\n \"top_hits\": {}\n },\n \"top_hit\": {\n \"max\": {\n \"script\": \"_doc.score\"\n }\n }\n }\n }\n }\n}\n]]]; nested: ScriptException[dynamic scripting for [mvel] disabled]; }{[4gtV_OJESWWSgMnbTruKyA][personsearch][3]: SearchParseException[[personsearch][3]: query[_all:icu],from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\": {\n \"query_string\": {\n \"query\": \"icu\"\n }\n },\n \"aggs\": {\n \"most-rel-profile\": {\n \"terms\": {\n \"field\": \"profileName\",\n \"order\": {\n \"top_hit\": \"desc\"\n }\n },\n \"aggs\": {\n \"top_tags_hits\": {\n \"top_hits\": {}\n },\n \"top_hit\": {\n \"max\": {\n \"script\": \"_doc.score\"\n }\n }\n }\n }\n }\n}\n]]]; nested: ScriptException[dynamic scripting for [mvel] disabled]; }{[4gtV_OJESWWSgMnbTruKyA][personsearch][4]: SearchParseException[[personsearch][4]: query[_all:icu],from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\": {\n \"query_string\": {\n \"query\": \"icu\"\n }\n },\n \"aggs\": {\n \"most-rel-profile\": {\n \"terms\": {\n \"field\": \"profileName\",\n \"order\": {\n \"top_hit\": \"desc\"\n }\n },\n \"aggs\": {\n \"top_tags_hits\": {\n \"top_hits\": {}\n },\n \"top_hit\": {\n \"max\": {\n \"script\": \"_doc.score\"\n }\n }\n }\n }\n }\n}\n]]]; nested: ScriptException[dynamic scripting for [mvel] disabled]; }]",
"status": 400
}
Does the dynamic scripting for [mvel] disabled have something to do with it?
Thanks.
--
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 [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/79c1fff8-78a4-4419-a87d-e39ec3148fcf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout. |
--
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 [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/43346d99-6385-4a24-bd8e-8e7482f39a36%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout. |