I have fairly large documents and I'd like to execute a script on GET to return a subset of it (can't do with just specifying fields unfortunately). Is this possible ?
Thanks
I have fairly large documents and I'd like to execute a script on GET to return a subset of it (can't do with just specifying fields unfortunately). Is this possible ?
Thanks
Hey,
no it is not, a GET request can only filter for fields, but there is no script execution. What do you need the script for exactly?
--Alex
Hey, thanks, I tried searching and docs-looking but didn't find anything.
I have a large 50kb doc mostly consisting of an {object: {enabled:False}
that I want to filter/process with a script and only return a subset of it (but needs to be realtime).
I may need to rethink the architecture
Thanks
If you use object: false
, you can still use the regular source filtering, as this happens on the JSON document.
PUT foo
{
"mappings": {
"bar" : {
"properties": {
"foo" : {
"type": "object",
"enabled" : false
}
}
}
}
}
PUT foo/bar/1
{
"foo" : {
"bar" : "baz",
"spam" : "eggs"
},
"indexed": "field"
}
GET foo/bar/_search
{
"query": {
"term": {
"foo.bar": {
"value": "baz"
}
}
}
}
I know that. But I still cant accomplish my functionality without scripting. Maybe I can do an "ids" query ? Guess thats not realtime.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
© 2020. All Rights Reserved - Elasticsearch
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.