I found what I think should work in a script filter, but I get an access 
exception trying to use it.

Adding the following filter:

        {
          "filtered": {
            "filter": {
              "script": {
                "lang": "mvel",
                "script": "doc['currentPatchSet.parents'].values.length < 
param1",
                "params": {
                  "param1": 2
                }
              }
            }
          }
        }


Ends up with the following error(s) at the bottom of the traceback:

{
   "error": "SearchPhaseExecutionException[Failed to execute phase [query], 
all shards failed; shardFailures {[yCmFfug8TdK15SxsAUSrww][gerrit_v2][0]: 
QueryPhaseExecutionException[[gerrit_v2][0]: query[filtered(+status:merged 
+ConstantScore(cache(BooleanFilter(currentPatchSet.parents:[* TO *]))) 
+ConstantScore(ScriptFilter(doc['currentPatchSet.parents'].values.length < 
param1)))->cache(_type:changes)],from[0],size[10]: Query Failed [Failed to 
execute main query]]; nested: 
IllegalAccessError[org/elasticsearch/index/fielddata/ScriptDocValues$Strings$1];
 
}{[in46F5VZQLCoUF0NyBv_Kg][gerrit_v2][1]: RemoteTransportException[[En 
Sabah Nur][inet[/10.226.73.179:9300]][search/phase/query]]; nested: 
QueryPhaseExecutionException[[gerrit_v2][1]: query[filtered(+status:merged 
+ConstantScore(cache(BooleanFilter(currentPatchSet.parents:[* TO *]))) 
+ConstantScore(ScriptFilter(doc['currentPatchSet.parents'].values.length < 
param1)))->cache(_type:changes)],from[0],size[10]: Query Failed [Failed to 
execute main query]]; nested: 
IllegalAccessError[org/elasticsearch/index/fielddata/ScriptDocValues$Strings$1];
 
}{[gEShLR_-SnK2d7RiQaaMjA][gerrit_v2][3]: 
RemoteTransportException[[Bounty][inet[/10.226.73.178:9300]][search/phase/query]];
 
nested: QueryPhaseExecutionException[[gerrit_v2][3]: 
query[filtered(+status:merged 
+ConstantScore(cache(BooleanFilter(currentPatchSet.parents:[* TO *]))) 
+ConstantScore(ScriptFilter(doc['currentPatchSet.parents'].values.length < 
param1)))->cache(_type:changes)],from[0],size[10]: Query Failed [Failed to 
execute main query]]; nested: 
IllegalAccessError[org/elasticsearch/index/fielddata/ScriptDocValues$Strings$1];
 
}{[o6oUK9rhRSinAyFDaAni5g][gerrit_v2][2]: 
RemoteTransportException[[Jolt][inet[/10.226.73.177:9300]][search/phase/query]];
 
nested: QueryPhaseExecutionException[[gerrit_v2][2]: 
query[filtered(+status:merged 
+ConstantScore(cache(BooleanFilter(currentPatchSet.parents:[* TO *]))) 
+ConstantScore(ScriptFilter(doc['currentPatchSet.parents'].values.length < 
param1)))->cache(_type:changes)],from[0],size[10]: Query Failed [Failed to 
execute main query]]; nested: 
IllegalAccessError[org/elasticsearch/index/fielddata/ScriptDocValues$Strings$1];
 
}{[in46F5VZQLCoUF0NyBv_Kg][gerrit_v2][4]: RemoteTransportException[[En 
Sabah Nur][inet[/10.226.73.179:9300]][search/phase/query]]; nested: 
QueryPhaseExecutionException[[gerrit_v2][4]: query[filtered(+status:merged 
+ConstantScore(cache(BooleanFilter(currentPatchSet.parents:[* TO *]))) 
+ConstantScore(ScriptFilter(doc['currentPatchSet.parents'].values.length < 
param1)))->cache(_type:changes)],from[0],size[10]: Query Failed [Failed to 
execute main query]]; nested: 
*IllegalAccessError[org/elasticsearch/index/fielddata/ScriptDocValues$Strings$1]*;
 
}]",
   "status": 500
}


It that some sort of typing I can get around?

Thanks for any help.

Sincerely,
e.


On Friday, July 25, 2014 4:03:45 PM UTC-6, Eric Brunson wrote:
>
> I have a doc type which includes a field that is a list of strings.  I'd 
> like to query/filter based on the number of items in the list, either 
> exactly equal to n or greater than/less than.  Is that possible?  I haven't 
> found anything in the Query DSL that seems to lend itself to that.
>
> 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/de428aca-b17f-4eff-b9c4-0653ee261301%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to