我想运行一个弹性搜索查询,它通过两个不同字段(纬度和经度)的组合对数据进行分组
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
}
}
}
}'
它给出的结果是预期的两倍……有什么想法吗?
答案中更相关的部分是......
_shards":{
"total":5,
"successful":5,
"failed":0
},
"hits":{
"total":**37**,
"max_score":3.9314494,
"hits":[{
如果我不应用构面,则总命中数为 37 是查询的结果。这个总数是方面总数的一半(见下文)
"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},.....
因此,分面分组是单独完成的(按纬度,然后按经度)。
请注意,我不能仅按纬度或经度进行分组,因为多个记录可以共享纬度(但经度不同),反之亦然。