I've tried that with this query:
GET leases_allv2/_search
{
"query": {
"filtered": {
"filter": {
"and": [
{
"or": [
{
"term": {
"states": "co"
}
}
]
},
{
"script" : {
"script" : "count++; count <= 3",
"params" : {
"count" : 0
}
}
}
]
}
}
}
}
But what happens with that query is since I have 5 shards on our database,
I get 15 results back. So the counter variable is getting reset for each
shard.
Is there a way to keep that counter from resetting when searching each
shard?
On Wednesday, June 25, 2014 12:02:57 AM UTC-6, Cédric Hourcade wrote:
>
> Hello,
>
> You should be able to filter with a script using the script filter:
>
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-script-filter.html
>
>
> Cédric Hourcade
> [email protected] <javascript:>
>
>
> On Wed, Jun 25, 2014 at 4:36 AM, Brian Behling <[email protected]
> <javascript:>> wrote:
> > I'm trying to calculate a value for each hit then select or filter on a
> > calculated value. Something like below:
> >
> > "query": {
> > "match_all": {}
> > },
> > "script_fields" : {
> > "counter" : {
> > "script" : "count++",
> > "params" : {
> > "count" : 1
> > }
> > },
> > "source" : {
> > "script" : "_source"
> > }
> > }
> >
> > I'd like to filter on the count parameter.
> >
> > I've read on a StackOverflow post that you cannot filter on a script
> value.
> >
> > So is there another way to calculate some value dynamically and filter
> on
> > that value?
> >
> > If not, is there a nested SQL SELECT equivalent in ElasticSearch? Maybe
> I
> > could execute the first query to calculate the 'count' then execute
> another
> > query to filter by a value?
> >
> > --
> > 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] <javascript:>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/elasticsearch/8206ea84-b314-4b8e-8f3c-248d9f5a99e7%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/def2deb6-9bdc-4fb2-a1ad-b26832a725c6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.