Percolator on nested object shard failure


(razafinr) #1

Hi!

I am using elasticsearch 1.1.

Normally in this version, percolator on nested documents should work.

Although, i am trying to do this but I get the following error:

failures: [

    { 
        index: test 
        shard: 4 
        reason: BroadcastShardOperationFailedException[[test][4] ];nested

: PercolateException[failed to percolate]; nested:
ElasticsearchIllegalArgumentException[Nothing to percolate];
}

] 

I have the following percolator (sorry elasticsearch head removed me all
the quotes):

{

    _index: test 
    _type: .percolator 
    _id: 27 
    _version: 1 
    _score: 1 
    _source: { 
        query: { 
            filtered: { 
                query: { 
                    match_all: { } 
                } 
                filter: { 
                    nested: { 
                        filter: { 
                            term: { 
                                city: london 
                            } 
                        } 
                        path: location 
                    } 
                } 
            } 
        } 
    } 

} 

And while trying to percolate this document I am getting the error:

{
...
"location": {
"date": "2014-05-05T15:07:58",
"namedplaces": {
"city": "london"
}
}
}

Any idea why it doesn't work ?

EDIT :

In elasticsearch log I got more precision about the error:

[2014-05-06 13:33:48,972][DEBUG][action.percolate ] [Tomazooma] [
test][2], node[H42BBxajRs2w2NmllMnp7g], [P], s[STARTED]: Failed to execute [
org.elasticsearch.action.percolate.PercolateReque
st@7399452e]
org.elasticsearch.percolator.PercolateException: failed to percolate
at org.elasticsearch.action.percolate.TransportPercolateAction.
shardOperation(TransportPercolateAction.java:198)
at org.elasticsearch.action.percolate.TransportPercolateAction.
shardOperation(TransportPercolateAction.java:55)
at org.elasticsearch.action.support.broadcast.
TransportBroadcastOperationAction$AsyncBroadcastAction$2.run(
TransportBroadcastOperationAction.java:226)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException:
Nothing to percolate
at org.elasticsearch.percolator.PercolatorService.percolate(
PercolatorService.java:187)
at org.elasticsearch.action.percolate.TransportPercolateAction.
shardOperation(TransportPercolateAction.java:194)
... 5 more

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/8ba57859-5da2-4349-85a8-de0087623ad0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Martijn Van Groningen) #2

You would only get this error if the "doc" part in the request body is
missing of the percolate request. Can you share the entire percolate
request?

On 6 May 2014 18:54, razafinr raz.rado@gmail.com wrote:

I am using elasticsearch 1.1.

Normally in this version, percolator on nested documents should work.

Although, i am trying to do this but I get the following error:

failures: [

    {
        index: test
        shard: 4
        reason: BroadcastShardOperationFailedException[[test][4] ];

nested: PercolateException[failed to percolate]; nested:
ElasticsearchIllegalArgumentException[Nothing to percolate];
}

]

I have the following percolator (sorry elasticsearch head removed me all
the
quotes):

{

    _index: test
    _type: .percolator
    _id: 27
    _version: 1
    _score: 1
    _source: {
        query: {
            filtered: {
                query: {
                    match_all: { }
                }
                filter: {
                    nested: {
                        filter: {
                            term: {
                                city: london
                            }
                        }
                        path: location
                    }
                }
            }
        }
    }

}

And while trying to percolate this document I am getting the error:

{
  ...
  "location": {
    "date": "2014-05-05T15:07:58",
    "namedplaces": {
      "city": "london"
    }
  }
}

Any idea why it doesn't work ?

EDIT :

In elasticsearch log I got more precision about the error:

[2014-05-06 13:33:48,972][DEBUG][action.percolate         ] [Tomazooma]

[test][2], node[H42BBxajRs2w2NmllMnp7g], [P], s[STARTED]: Failed to execute
[org.elasticsearch.action.percolate.PercolateReque
st@7399452e]
org.elasticsearch.percolator.PercolateException: failed to percolate
at

org.elasticsearch.action.percolate.TransportPercolateAction.shardOperation(TransportPercolateAction.java:198)
at

org.elasticsearch.action.percolate.TransportPercolateAction.shardOperation(TransportPercolateAction.java:55)
at

org.elasticsearch.action.support.broadcast.TransportBroadcastOperationAction$AsyncBroadcastAction$2.run(TransportBroadcastOperationAction.java:226)
at

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException:
Nothing to percolate
at

org.elasticsearch.percolator.PercolatorService.percolate(PercolatorService.java:187)
at

org.elasticsearch.action.percolate.TransportPercolateAction.shardOperation(TransportPercolateAction.java:194)
... 5 more

--
View this message in context:
http://elasticsearch-users.115913.n3.nabble.com/Percolator-on-nested-object-shard-failure-tp4055428.html
Sent from the ElasticSearch Users mailing list archive at Nabble.com.

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/1399377263852-4055428.post%40n3.nabble.com
.
For more options, visit https://groups.google.com/d/optout.

--
Met vriendelijke groet,

Martijn van Groningen

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CA%2BA76TyHRtODkN_a9ynxB4r6a71%3D5BdrzGiVJEmLabpZC%2BO5ew%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


(razafinr) #3

Thanks it was the problem. My query was missing the "doc" field.


(system) #4