doble faceta de búsqueda elástica
Quiero ejecutar una consulta de búsqueda elástica que agrupa los datos mediante la combinación de dos campos diferentes (Latitud y Longitud)
curl -XGET http://www.my_server:9200/idx_occurrence/Occurrence/_search?pretty=true -d '{
"query": {
"query_string" : {
"fields" : ["genus_interpreted","dataset"],
"query": "Pica 2",
"default_operator" : "AND"
}
},
"facets": {
"test": {
"terms": {
"fields" :["decimalLatitude","decimalLongitude"],
"size" : 500000000
}
}
}
}'
Da un doble número de resultados de lo esperado ... ¿alguna idea?
Las partes más relevantes de la respuesta son ...
_shards":{
"total":5,
"successful":5,
"failed":0
},
"hits":{
"total":**37**,
"max_score":3.9314494,
"hits":[{
el total de hits, 37 es el resultado de la consulta si no aplico las facetas. Este total es la mitad del total en facetas (ver más abajo)
"facets":{
"test":{
"_type":"terms",
"missing":0,
"total":**74**,
"other":0,
"terms":[
{"term":"167.21665954589844","count":5},
{"term":"167.25","count":4},
{"term":"167.14999389648438","count":4},
{"term":"167.1041717529297","count":4},
{"term":"-21.04166603088379","count":4},.....
Por lo tanto, la agrupación de facetas se realiza por separado (por latitud y luego por longitud).
Tenga en cuenta que no puedo agrupar solo por latitud o longitud, ya que varios registros pueden compartir latitud (pero tienen diferente longitud) o viceversa.