Geo bounds aggregation as a sub aggregator?


(svartalf) #1

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to get bounds
for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type [bounds]
in [aggregations]]".

--
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/ef8b87ad-5c5e-4d50-b87d-9ac9d6659048%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Colin Goodheart-Smithe) #2

You should be able to achieve this with the below query. If you still
cannot get it working could you provide a cURL example which reproduces
your issue?

curl -XGET "http://localhost:9200/geo/_search" -d'
{
"size": 0,
"aggs": {
"geohash" : {
"geohash_grid": {
"field": "location",
"precision": 3
},
"aggs": {
"subbounds": {
"geo_bounds": {
"field": "location"
}
}
}
}
}
}'

On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote:

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to get
bounds for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type
[bounds] in [aggregations]]".

--
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/bf7f3770-f8f5-453e-bcf8-8321ca6a8f12%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(svartalf) #3

Here is an example: https://gist.github.com/svartalf/c3cb76c40dd4fa1374fa

I'm using two inner aggregation functions, and with "top_hits" removed,
"geo_bounds" works sometimes, and sometimes fails with a response_2.json
(in the example) or response_3.json.
With an enabled "top_hits" aggregator it is also throwing response_1.json
text.

I'm trying to group points into the buckets and annotate them with a
top_hit item and geo bounds for each bucket, and got stuck a little. Maybe
I should move one of those two aggregations one level deeper?

четверг, 24 июля 2014 г., 16:52:01 UTC+9 пользователь Colin
Goodheart-Smithe написал:

You should be able to achieve this with the below query. If you still
cannot get it working could you provide a cURL example which reproduces
your issue?

curl -XGET "http://localhost:9200/geo/_search" -d'
{
"size": 0,
"aggs": {
"geohash" : {
"geohash_grid": {
"field": "location",
"precision": 3
},
"aggs": {
"subbounds": {
"geo_bounds": {
"field": "location"
}
}
}
}
}
}'

On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote:

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to get
bounds for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type
[bounds] in [aggregations]]".

--
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/56e9cab5-a054-4c01-a661-c05d41488ae9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Colin Goodheart-Smithe) #4

I think the problem is that you have an extra aggregations object
surrounding the geo_bounds aggregation. Try the following:

curl -XGET "http://localhost:9200/postings/_search" -d'
{
"query": {
"filtered": {
"filter": {
"geo_bounding_box": {
"point": {
"bottom_right": [
104.45856200712711,
52.208730692828844
],
"top_left": [
104.19077025908017,
52.34035674074375
]
}
}
},
"query": {
"match_all": {}
}
}
},
"aggregations": {
"cells": {
"geohash_grid": {
"field": "point",
"precision": 6
},
"aggregations": {
"lat": {
"avg": {
"script": "doc["point"].lat"
}
},
"lon": {
"avg": {
"script": "doc["point"].lon"
}
},
"hits": {
"top_hits": {
"_source": {
"include": [
"short_description"
]
},
"size": 1
}
},
"bounds": {
"geo_bounds": {
"field": "point"
}
}
}
}
},
"size": 0
}'

On Thursday, 24 July 2014 09:32:10 UTC+1, svartalf wrote:

Here is an example: https://gist.github.com/svartalf/c3cb76c40dd4fa1374fa

I'm using two inner aggregation functions, and with "top_hits" removed,
"geo_bounds" works sometimes, and sometimes fails with a response_2.json
(in the example) or response_3.json.
With an enabled "top_hits" aggregator it is also throwing
response_1.json text.

I'm trying to group points into the buckets and annotate them with a
top_hit item and geo bounds for each bucket, and got stuck a little. Maybe
I should move one of those two aggregations one level deeper?

четверг, 24 июля 2014 г., 16:52:01 UTC+9 пользователь Colin
Goodheart-Smithe написал:

You should be able to achieve this with the below query. If you still
cannot get it working could you provide a cURL example which reproduces
your issue?

curl -XGET "http://localhost:9200/geo/_search" -d'
{
"size": 0,
"aggs": {
"geohash" : {
"geohash_grid": {
"field": "location",
"precision": 3
},
"aggs": {
"subbounds": {
"geo_bounds": {
"field": "location"
}
}
}
}
}
}'

On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote:

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to get
bounds for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type
[bounds] in [aggregations]]".

--
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/fd12bf52-9f3f-450c-a13d-547eef4fb926%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Do aggregations support filters outside query context?
(svartalf) #5

It is really odd, but it failed for me on the precision levels 6 and 7 with
a ArrayIndexOutOfBoundsException, and working for 5 and 8 levels.

I had put a big query examples here:

четверг, 24 июля 2014 г., 18:05:30 UTC+9 пользователь Colin
Goodheart-Smithe написал:

I think the problem is that you have an extra aggregations object
surrounding the geo_bounds aggregation. Try the following:

curl -XGET "http://localhost:9200/postings/_search" -d'
{
"query": {
"filtered": {
"filter": {
"geo_bounding_box": {
"point": {
"bottom_right": [
104.45856200712711,
52.208730692828844
],
"top_left": [
104.19077025908017,
52.34035674074375
]
}
}
},
"query": {
"match_all": {}
}
}
},
"aggregations": {
"cells": {
"geohash_grid": {
"field": "point",
"precision": 6
},
"aggregations": {
"lat": {
"avg": {
"script": "doc["point"].lat"
}
},
"lon": {
"avg": {
"script": "doc["point"].lon"
}
},
"hits": {
"top_hits": {
"_source": {
"include": [
"short_description"
]
},
"size": 1
}
},
"bounds": {
"geo_bounds": {
"field": "point"
}
}
}
}
},
"size": 0
}'

On Thursday, 24 July 2014 09:32:10 UTC+1, svartalf wrote:

Here is an example: https://gist.github.com/svartalf/c3cb76c40dd4fa1374fa

I'm using two inner aggregation functions, and with "top_hits" removed,
"geo_bounds" works sometimes, and sometimes fails with a response_2.json
(in the example) or response_3.json.
With an enabled "top_hits" aggregator it is also throwing
response_1.json text.

I'm trying to group points into the buckets and annotate them with a
top_hit item and geo bounds for each bucket, and got stuck a little. Maybe
I should move one of those two aggregations one level deeper?

четверг, 24 июля 2014 г., 16:52:01 UTC+9 пользователь Colin
Goodheart-Smithe написал:

You should be able to achieve this with the below query. If you still
cannot get it working could you provide a cURL example which reproduces
your issue?

curl -XGET "http://localhost:9200/geo/_search" -d'
{
"size": 0,
"aggs": {
"geohash" : {
"geohash_grid": {
"field": "location",
"precision": 3
},
"aggs": {
"subbounds": {
"geo_bounds": {
"field": "location"
}
}
}
}
}
}'

On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote:

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to get
bounds for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type
[bounds] in [aggregations]]".

--
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/f9bffce5-466f-4de6-b393-b8a5a3ece773%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Colin Goodheart-Smithe) #6

Could you post the full stack trace from the elasticsearch log file? This
will help in working out where the query falls over

Thanks

On Friday, 25 July 2014 01:18:49 UTC+1, svartalf wrote:

It is really odd, but it failed for me on the precision levels 6 and 7
with a ArrayIndexOutOfBoundsException, and working for 5 and 8 levels.

I had put a big query examples here:
https://gist.github.com/svartalf/5db600e7ea2907fbda3a

четверг, 24 июля 2014 г., 18:05:30 UTC+9 пользователь Colin
Goodheart-Smithe написал:

I think the problem is that you have an extra aggregations object
surrounding the geo_bounds aggregation. Try the following:

curl -XGET "http://localhost:9200/postings/_search" -d'
{
"query": {
"filtered": {
"filter": {
"geo_bounding_box": {
"point": {
"bottom_right": [
104.45856200712711,
52.208730692828844
],
"top_left": [
104.19077025908017,
52.34035674074375
]
}
}
},
"query": {
"match_all": {}
}
}
},
"aggregations": {
"cells": {
"geohash_grid": {
"field": "point",
"precision": 6
},
"aggregations": {
"lat": {
"avg": {
"script": "doc["point"].lat"
}
},
"lon": {
"avg": {
"script": "doc["point"].lon"
}
},
"hits": {
"top_hits": {
"_source": {
"include": [
"short_description"
]
},
"size": 1
}
},
"bounds": {
"geo_bounds": {
"field": "point"
}
}
}
}
},
"size": 0
}'

On Thursday, 24 July 2014 09:32:10 UTC+1, svartalf wrote:

Here is an example:
https://gist.github.com/svartalf/c3cb76c40dd4fa1374fa

I'm using two inner aggregation functions, and with "top_hits" removed,
"geo_bounds" works sometimes, and sometimes fails with a response_2.json
(in the example) or response_3.json.
With an enabled "top_hits" aggregator it is also throwing
response_1.json text.

I'm trying to group points into the buckets and annotate them with a
top_hit item and geo bounds for each bucket, and got stuck a little. Maybe
I should move one of those two aggregations one level deeper?

четверг, 24 июля 2014 г., 16:52:01 UTC+9 пользователь Colin
Goodheart-Smithe написал:

You should be able to achieve this with the below query. If you still
cannot get it working could you provide a cURL example which reproduces
your issue?

curl -XGET "http://localhost:9200/geo/_search" -d'
{
"size": 0,
"aggs": {
"geohash" : {
"geohash_grid": {
"field": "location",
"precision": 3
},
"aggs": {
"subbounds": {
"geo_bounds": {
"field": "location"
}
}
}
}
}
}'

On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote:

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to get
bounds for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type
[bounds] in [aggregations]]".

--
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/fd5f89e9-db00-4e8a-94c0-40a8c26a48ac%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(owainb) #7

Hi,

I hit exactly the same issue today. It seems that the problem occurs when
the number of buckets in the outer geohash grid aggregation goes above a
certain number (around 50 in my tests but that could be system dependent).
The stack trace is below but doesn't tell much. If someone can confirm this
is a bug I am happy to raise an issue.

[2014-09-02 14:46:54,698][DEBUG][action.search.type ] [3-D Man]
[typename][0], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException: [typename][0]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,699][DEBUG][action.search.type ] [3-D Man]
[typename][3], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException: [typename][3]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,707][DEBUG][action.search.type ] [3-D Man]
[typename][4], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException: [typename][4]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,708][DEBUG][action.search.type ] [3-D Man]
[typename][1], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException: [typename][1]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,713][DEBUG][action.search.type ] [3-D Man]
[typename][2], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844]
org.elasticsearch.search.query.QueryPhaseExecutionException: [typename][2]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,714][DEBUG][action.search.type ] [3-D Man] All
shards failed for phase: [query]

On Friday, July 25, 2014 2:47:39 PM UTC+1, Colin Goodheart-Smithe wrote:

Could you post the full stack trace from the elasticsearch log file? This
will help in working out where the query falls over

Thanks

On Friday, 25 July 2014 01:18:49 UTC+1, svartalf wrote:

It is really odd, but it failed for me on the precision levels 6 and 7
with a ArrayIndexOutOfBoundsException, and working for 5 and 8 levels.

I had put a big query examples here:
https://gist.github.com/svartalf/5db600e7ea2907fbda3a

четверг, 24 июля 2014 г., 18:05:30 UTC+9 пользователь Colin
Goodheart-Smithe написал:

I think the problem is that you have an extra aggregations object
surrounding the geo_bounds aggregation. Try the following:

curl -XGET "http://localhost:9200/postings/_search" -d'
{
"query": {
"filtered": {
"filter": {
"geo_bounding_box": {
"point": {
"bottom_right": [
104.45856200712711,
52.208730692828844
],
"top_left": [
104.19077025908017,
52.34035674074375
]
}
}
},
"query": {
"match_all": {}
}
}
},
"aggregations": {
"cells": {
"geohash_grid": {
"field": "point",
"precision": 6
},
"aggregations": {
"lat": {
"avg": {
"script": "doc["point"].lat"
}
},
"lon": {
"avg": {
"script": "doc["point"].lon"
}
},
"hits": {
"top_hits": {
"_source": {
"include": [
"short_description"
]
},
"size": 1
}
},
"bounds": {
"geo_bounds": {
"field": "point"
}
}
}
}
},
"size": 0
}'

On Thursday, 24 July 2014 09:32:10 UTC+1, svartalf wrote:

Here is an example:
https://gist.github.com/svartalf/c3cb76c40dd4fa1374fa

I'm using two inner aggregation functions, and with "top_hits" removed,
"geo_bounds" works sometimes, and sometimes fails with a response_2.json
(in the example) or response_3.json.
With an enabled "top_hits" aggregator it is also throwing
response_1.json text.

I'm trying to group points into the buckets and annotate them with a
top_hit item and geo bounds for each bucket, and got stuck a little. Maybe
I should move one of those two aggregations one level deeper?

четверг, 24 июля 2014 г., 16:52:01 UTC+9 пользователь Colin
Goodheart-Smithe написал:

You should be able to achieve this with the below query. If you still
cannot get it working could you provide a cURL example which reproduces
your issue?

curl -XGET "http://localhost:9200/geo/_search" -d'
{
"size": 0,
"aggs": {
"geohash" : {
"geohash_grid": {
"field": "location",
"precision": 3
},
"aggs": {
"subbounds": {
"geo_bounds": {
"field": "location"
}
}
}
}
}
}'

On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote:

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to get
bounds for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type
[bounds] in [aggregations]]".

--
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/599912f7-7280-4f5a-8400-4eed0a587385%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Colin Goodheart-Smithe) #8

Ok, yes this does look like a bug so if you could raise an issue on github
and post the issue link back in this thread, that would be great.

Thanks

Colin

On Tuesday, 2 September 2014 15:23:23 UTC+1, Owain Braddick wrote:

Hi,

I hit exactly the same issue today. It seems that the problem occurs when
the number of buckets in the outer geohash grid aggregation goes above a
certain number (around 50 in my tests but that could be system dependent).
The stack trace is below but doesn't tell much. If someone can confirm this
is a bug I am happy to raise an issue.

[2014-09-02 14:46:54,698][DEBUG][action.search.type ] [3-D Man]
[typename][0], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][0]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,699][DEBUG][action.search.type ] [3-D Man]
[typename][3], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][3]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,707][DEBUG][action.search.type ] [3-D Man]
[typename][4], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][4]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,708][DEBUG][action.search.type ] [3-D Man]
[typename][1], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][1]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,713][DEBUG][action.search.type ] [3-D Man]
[typename][2], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][2]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,714][DEBUG][action.search.type ] [3-D Man] All
shards failed for phase: [query]

On Friday, July 25, 2014 2:47:39 PM UTC+1, Colin Goodheart-Smithe wrote:

Could you post the full stack trace from the elasticsearch log file? This
will help in working out where the query falls over

Thanks

On Friday, 25 July 2014 01:18:49 UTC+1, svartalf wrote:

It is really odd, but it failed for me on the precision levels 6 and 7
with a ArrayIndexOutOfBoundsException, and working for 5 and 8 levels.

I had put a big query examples here:
https://gist.github.com/svartalf/5db600e7ea2907fbda3a

четверг, 24 июля 2014 г., 18:05:30 UTC+9 пользователь Colin
Goodheart-Smithe написал:

I think the problem is that you have an extra aggregations object
surrounding the geo_bounds aggregation. Try the following:

curl -XGET "http://localhost:9200/postings/_search" -d'
{
"query": {
"filtered": {
"filter": {
"geo_bounding_box": {
"point": {
"bottom_right": [
104.45856200712711,
52.208730692828844
],
"top_left": [
104.19077025908017,
52.34035674074375
]
}
}
},
"query": {
"match_all": {}
}
}
},
"aggregations": {
"cells": {
"geohash_grid": {
"field": "point",
"precision": 6
},
"aggregations": {
"lat": {
"avg": {
"script": "doc["point"].lat"
}
},
"lon": {
"avg": {
"script": "doc["point"].lon"
}
},
"hits": {
"top_hits": {
"_source": {
"include": [
"short_description"
]
},
"size": 1
}
},
"bounds": {
"geo_bounds": {
"field": "point"
}
}
}
}
},
"size": 0
}'

On Thursday, 24 July 2014 09:32:10 UTC+1, svartalf wrote:

Here is an example:
https://gist.github.com/svartalf/c3cb76c40dd4fa1374fa

I'm using two inner aggregation functions, and with "top_hits"
removed, "geo_bounds" works sometimes, and sometimes fails with a
response_2.json (in the example) or response_3.json.
With an enabled "top_hits" aggregator it is also throwing
response_1.json text.

I'm trying to group points into the buckets and annotate them with a
top_hit item and geo bounds for each bucket, and got stuck a little. Maybe
I should move one of those two aggregations one level deeper?

четверг, 24 июля 2014 г., 16:52:01 UTC+9 пользователь Colin
Goodheart-Smithe написал:

You should be able to achieve this with the below query. If you
still cannot get it working could you provide a cURL example which
reproduces your issue?

curl -XGET "http://localhost:9200/geo/_search" -d'
{
"size": 0,
"aggs": {
"geohash" : {
"geohash_grid": {
"field": "location",
"precision": 3
},
"aggs": {
"subbounds": {
"geo_bounds": {
"field": "location"
}
}
}
}
}
}'

On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote:

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to get
bounds for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type
[bounds] in [aggregations]]".

--
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/3fcdd090-5cb2-4a96-bdc3-740f94e63bb8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(owainb) #9

I found the bug in array resizing code. Raised issue
at https://github.com/elasticsearch/elasticsearch/issues/7556.

On Tuesday, September 2, 2014 3:30:54 PM UTC+1, Colin Goodheart-Smithe
wrote:

Ok, yes this does look like a bug so if you could raise an issue on github
and post the issue link back in this thread, that would be great.

Thanks

Colin

On Tuesday, 2 September 2014 15:23:23 UTC+1, Owain Braddick wrote:

Hi,

I hit exactly the same issue today. It seems that the problem occurs when
the number of buckets in the outer geohash grid aggregation goes above a
certain number (around 50 in my tests but that could be system dependent).
The stack trace is below but doesn't tell much. If someone can confirm this
is a bug I am happy to raise an issue.

[2014-09-02 14:46:54,698][DEBUG][action.search.type ] [3-D Man]
[typename][0], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][0]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,699][DEBUG][action.search.type ] [3-D Man]
[typename][3], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][3]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,707][DEBUG][action.search.type ] [3-D Man]
[typename][4], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][4]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,708][DEBUG][action.search.type ] [3-D Man]
[typename][1], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][1]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,713][DEBUG][action.search.type ] [3-D Man]
[typename][2], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][2]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,714][DEBUG][action.search.type ] [3-D Man] All
shards failed for phase: [query]

On Friday, July 25, 2014 2:47:39 PM UTC+1, Colin Goodheart-Smithe wrote:

Could you post the full stack trace from the elasticsearch log file?
This will help in working out where the query falls over

Thanks

On Friday, 25 July 2014 01:18:49 UTC+1, svartalf wrote:

It is really odd, but it failed for me on the precision levels 6 and 7
with a ArrayIndexOutOfBoundsException, and working for 5 and 8 levels.

I had put a big query examples here:
https://gist.github.com/svartalf/5db600e7ea2907fbda3a

четверг, 24 июля 2014 г., 18:05:30 UTC+9 пользователь Colin
Goodheart-Smithe написал:

I think the problem is that you have an extra aggregations object
surrounding the geo_bounds aggregation. Try the following:

curl -XGET "http://localhost:9200/postings/_search" -d'
{
"query": {
"filtered": {
"filter": {
"geo_bounding_box": {
"point": {
"bottom_right": [
104.45856200712711,
52.208730692828844
],
"top_left": [
104.19077025908017,
52.34035674074375
]
}
}
},
"query": {
"match_all": {}
}
}
},
"aggregations": {
"cells": {
"geohash_grid": {
"field": "point",
"precision": 6
},
"aggregations": {
"lat": {
"avg": {
"script": "doc["point"].lat"
}
},
"lon": {
"avg": {
"script": "doc["point"].lon"
}
},
"hits": {
"top_hits": {
"_source": {
"include": [
"short_description"
]
},
"size": 1
}
},
"bounds": {
"geo_bounds": {
"field": "point"
}
}
}
}
},
"size": 0
}'

On Thursday, 24 July 2014 09:32:10 UTC+1, svartalf wrote:

Here is an example:
https://gist.github.com/svartalf/c3cb76c40dd4fa1374fa

I'm using two inner aggregation functions, and with "top_hits"
removed, "geo_bounds" works sometimes, and sometimes fails with a
response_2.json (in the example) or response_3.json.
With an enabled "top_hits" aggregator it is also throwing
response_1.json text.

I'm trying to group points into the buckets and annotate them with a
top_hit item and geo bounds for each bucket, and got stuck a little. Maybe
I should move one of those two aggregations one level deeper?

четверг, 24 июля 2014 г., 16:52:01 UTC+9 пользователь Colin
Goodheart-Smithe написал:

You should be able to achieve this with the below query. If you
still cannot get it working could you provide a cURL example which
reproduces your issue?

curl -XGET "http://localhost:9200/geo/_search" -d'
{
"size": 0,
"aggs": {
"geohash" : {
"geohash_grid": {
"field": "location",
"precision": 3
},
"aggs": {
"subbounds": {
"geo_bounds": {
"field": "location"
}
}
}
}
}
}'

On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote:

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to
get bounds for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type
[bounds] in [aggregations]]".

--
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/9e69e502-f8d3-49d4-be19-90673c1e118a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Colin Goodheart-Smithe) #10

Thanks for finding the details of the bug and raising it. I have pushed a
fix which should be available in the next release

On Wednesday, 3 September 2014 12:19:54 UTC+1, Owain Braddick wrote:

I found the bug in array resizing code. Raised issue at
https://github.com/elasticsearch/elasticsearch/issues/7556.

On Tuesday, September 2, 2014 3:30:54 PM UTC+1, Colin Goodheart-Smithe
wrote:

Ok, yes this does look like a bug so if you could raise an issue on
github and post the issue link back in this thread, that would be great.

Thanks

Colin

On Tuesday, 2 September 2014 15:23:23 UTC+1, Owain Braddick wrote:

Hi,

I hit exactly the same issue today. It seems that the problem occurs
when the number of buckets in the outer geohash grid aggregation goes above
a certain number (around 50 in my tests but that could be system
dependent). The stack trace is below but doesn't tell much. If someone can
confirm this is a bug I am happy to raise an issue.

[2014-09-02 14:46:54,698][DEBUG][action.search.type ] [3-D Man]
[typename][0], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][0]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,699][DEBUG][action.search.type ] [3-D Man]
[typename][3], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][3]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,707][DEBUG][action.search.type ] [3-D Man]
[typename][4], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][4]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,708][DEBUG][action.search.type ] [3-D Man]
[typename][1], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844] lastShard
[true]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][1]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,713][DEBUG][action.search.type ] [3-D Man]
[typename][2], node[sEDEsE4GQ2yqxVb5njslDQ], [P], s[STARTED]: Failed to
execute [org.elasticsearch.action.search.SearchRequest@37a97844]
org.elasticsearch.search.query.QueryPhaseExecutionException:
[typename][2]:
query[filtered(filtered(fieldname:other)->:)->cache(_type:indexname)],from[0],size[10]:
Query Failed [Failed to execute main query]
at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
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: java.lang.ArrayIndexOutOfBoundsException
[2014-09-02 14:46:54,714][DEBUG][action.search.type ] [3-D Man]
All shards failed for phase: [query]

On Friday, July 25, 2014 2:47:39 PM UTC+1, Colin Goodheart-Smithe wrote:

Could you post the full stack trace from the elasticsearch log file?
This will help in working out where the query falls over

Thanks

On Friday, 25 July 2014 01:18:49 UTC+1, svartalf wrote:

It is really odd, but it failed for me on the precision levels 6 and 7
with a ArrayIndexOutOfBoundsException, and working for 5 and 8 levels.

I had put a big query examples here:
https://gist.github.com/svartalf/5db600e7ea2907fbda3a

четверг, 24 июля 2014 г., 18:05:30 UTC+9 пользователь Colin
Goodheart-Smithe написал:

I think the problem is that you have an extra aggregations object
surrounding the geo_bounds aggregation. Try the following:

curl -XGET "http://localhost:9200/postings/_search" -d'
{
"query": {
"filtered": {
"filter": {
"geo_bounding_box": {
"point": {
"bottom_right": [
104.45856200712711,
52.208730692828844
],
"top_left": [
104.19077025908017,
52.34035674074375
]
}
}
},
"query": {
"match_all": {}
}
}
},
"aggregations": {
"cells": {
"geohash_grid": {
"field": "point",
"precision": 6
},
"aggregations": {
"lat": {
"avg": {
"script": "doc["point"].lat"
}
},
"lon": {
"avg": {
"script": "doc["point"].lon"
}
},
"hits": {
"top_hits": {
"_source": {
"include": [
"short_description"
]
},
"size": 1
}
},
"bounds": {
"geo_bounds": {
"field": "point"
}
}
}
}
},
"size": 0
}'

On Thursday, 24 July 2014 09:32:10 UTC+1, svartalf wrote:

Here is an example:
https://gist.github.com/svartalf/c3cb76c40dd4fa1374fa

I'm using two inner aggregation functions, and with "top_hits"
removed, "geo_bounds" works sometimes, and sometimes fails with a
response_2.json (in the example) or response_3.json.
With an enabled "top_hits" aggregator it is also throwing
response_1.json text.

I'm trying to group points into the buckets and annotate them with a
top_hit item and geo bounds for each bucket, and got stuck a little. Maybe
I should move one of those two aggregations one level deeper?

четверг, 24 июля 2014 г., 16:52:01 UTC+9 пользователь Colin
Goodheart-Smithe написал:

You should be able to achieve this with the below query. If you
still cannot get it working could you provide a cURL example which
reproduces your issue?

curl -XGET "http://localhost:9200/geo/_search" -d'
{
"size": 0,
"aggs": {
"geohash" : {
"geohash_grid": {
"field": "location",
"precision": 3
},
"aggs": {
"subbounds": {
"geo_bounds": {
"field": "location"
}
}
}
}
}
}'

On Thursday, 24 July 2014 07:46:31 UTC+1, svartalf wrote:

Is there any way to use geo_bounds as a sub aggregator?

I have a geohash_grid aggregation, and it will be very useful to
get bounds for each bucket of the data.
Right now my ES 1.3.0 says that he "Could not find aggregator type
[bounds] in [aggregations]]".

--
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/081244d9-febc-4b33-a66b-8e01044b5c0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(system) #11