def test_geo_sort_order_serialization_with_order(self): sort_order = GeoSortOrder(field='foo', lat=1, lon=1, order='desc') self.assertEqual(sort_order.serialize(), {'_geo_distance': { 'foo': [1, 1], 'order': 'desc' }})
def test_geo_sort_order_serialization_with_unit(self): sort_order = GeoSortOrder(field='foo', lat=1, lon=1, unit='km') self.assertEqual(sort_order.serialize(), {'_geo_distance': { 'foo': [1, 1], 'unit': 'km' }})
def test_sorting_by_geolocation(self): search = Search(MatchAllQuery()) search.sort.add(GeoSortOrder(field='location', lat=1, lon=1)) resultset = self.conn.search(search, indices=self.index_name, doc_types=[self.document_type]) ids = [doc['_id'] for doc in resultset.hits] self.assertEqual(ids, ['1', '2', '3'])
def test_geo_sort_order_serialization_geohash(self): sort_order = GeoSortOrder(field='foo', geohash='drm3btev3e86') self.assertEqual( sort_order.serialize(), {'_geo_distance': {'foo': 'drm3btev3e86'}} )
def test_geo_sort_order_serialization_with_order(self): sort_order = GeoSortOrder(field='foo', lat=1, lon=1, order='desc') self.assertEqual( sort_order.serialize(), {'_geo_distance': {'foo': [1, 1], 'order': 'desc'}} )
def test_geo_sort_order_serialization_with_unit(self): sort_order = GeoSortOrder(field='foo', lat=1, lon=1, unit='km') self.assertEqual( sort_order.serialize(), {'_geo_distance': {'foo': [1, 1], 'unit': 'km'}} )
def test_geo_sort_order_serialization(self): sort_order = GeoSortOrder(field='foo', lat=1, lon=1) self.assertEqual( sort_order.serialize(), {'_geo_distance': {'foo': [1, 1]}} )
def test_geo_sort_order_serialization_geohash(self): sort_order = GeoSortOrder(field='foo', geohash='drm3btev3e86') self.assertEqual(sort_order.serialize(), {'_geo_distance': { 'foo': 'drm3btev3e86' }})
def test_geo_sort_order_serialization(self): sort_order = GeoSortOrder(field='foo', lat=1, lon=1) self.assertEqual(sort_order.serialize(), {'_geo_distance': { 'foo': [1, 1] }})