在GeoDistance弹性搜索查询中,我创建了一个带有"geo_point“的映射,以映射到一个索引。当我以纬度为x,经度为y,半径为z查询时,我会得到一些行(例如。a,b,c)。当我再次查询与x相同纬度、经度与y、半径与(z+100)相同的索引时,就会得到不同的行(例如d、e、f)。
如果z中出现了一些行,那么在z+100中也必须出现同样的行,如果可用的话,这又是怎么可能的呢?
我的地图是:
'{
"type_name": {
"properties": {
"pin": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
}
}’我使用java API的查询是
GeoDistanceFilterBuilder fil = FilterBuilders
.geoDistanceFilter("pin.location")
.point(lat, lng)
.distance(radius, DistanceUnit.KILOMETERS)
.optimizeBbox("memory")
.geoDistance(GeoDistance.ARC).cache(true);当使用终端"curl“cmd查询相同时,我将得到。
有人能帮帮我吗?我在这里做什么?
提前谢谢。
发布于 2014-01-24 13:24:49
每个查询只返回3个结果吗?还是超过10个?
如果超过10,那么您的结果a、b和c可能还在结果集中,只是进一步下降。默认情况下,Elasticsearch只返回前10个结果。您可以尝试按地距进行排序或调整从参数/大小参数。
如果做不到这一点,请使用结果解释API a来找出为什么不返回它。
https://stackoverflow.com/questions/21306532
复制相似问题