忘れないようにメモしておく。
Geo distance filter・・・geoのlocationに含まれるものが存在する場合のみ表示する
ex)pin.locationが200km以内に存在するもののみを表示
"filter" : {
"geo_distance" : {
"distance" : "200km",
"pin.location" : {
"lat" : 40,
"lon" : -70
}
}
}
Geo distance range filter・・・geo distanceの中に幅を持たせたいときに、fromとtoの間に存在するもののみを表示する
ex.)pin.locationから200kmから400kmの距離にあるものを表示
"filter" : {
"geo_distance_range" : {
"from" : "200km",
"to" : "400km"
"pin.location" : {
"lat" : 40,
"lon" : -70
}
}
}
geo bounding box filter(geo_bbox)・・・bounding box内にかかれた座標内に存在するものを表示
ex.)top_leftの座標が(40.73, -74.1), bottom_rightの座標が(40.717, -73.99)内にあるものを表示
"filter" : {
"geo_bounding_box" : {
"pin.location" : {
"top_left" : {
"lat" : 40.73,
"lon" : -74.1
},
"bottom_right" : {
"lat" : 40.717,
"lon" : -73.99
}
}
}
}
geo polygon filter・・・3点の三角形の座標内に存在するものを表示
ex.)座標1(40, -70) 座標2(30, -80) 座標3(20, -90)内に存在するものを表示
"filter" : {
"geo_polygon" : {
"person.location" : {
"points" : [
{"lat" : 40, "lon" : -70},
{"lat" : 30, "lon" : -80},
{"lat" : 20, "lon" : -90}
]
}
}
}
geo shape filter・・・geo shape Mappingをしている必要がある。説明割愛。