def attr_mapping(resources): options = SearchOptions() attribute_match = set() range_fields = set() geo_fields = set() for t in resources: schema = getattr(interface.objects, t)._schema for k,v in schema.iteritems(): ion_type = v['type'] if ion_type=='int': range_fields.add(k) elif ion_type =='long': range_fields.add(k) elif ion_type == 'float': range_fields.add(k) elif ion_type == 'str': attribute_match.add(k) elif ion_type == 'GeospatialPoint': geo_fields.add(k) options.attribute_match = list(attribute_match) options.range_fields = list(range_fields) options.geo_fields = list(geo_fields) return options
def attr_mapping(resources): options = SearchOptions() attribute_match = set() range_fields = set() geo_fields = set() for t in resources: schema = getattr(interface.objects, t)._schema for k, v in schema.iteritems(): ion_type = v['type'] if ion_type == 'int': range_fields.add(k) elif ion_type == 'long': range_fields.add(k) elif ion_type == 'float': range_fields.add(k) elif ion_type == 'str': attribute_match.add(k) elif ion_type == 'GeospatialLocation': geo_fields.add(k) options.attribute_match = list(attribute_match) options.range_fields = list(range_fields) options.geo_fields = list(geo_fields) return options
def test_create_elasticsearch_index(self): index_name = self.index_name ims_cli = self.ims_cli rr_cli = self.rr_cli options = SearchOptions() options.attribute_match = ["test_field"] index_id = ims_cli.create_index( name=index_name, content_type=IndexManagementService.ELASTICSEARCH_INDEX, options=options ) index_result = self.rr_cli.read(index_id) self.assertIsInstance(index_result, ElasticSearchIndex) self.assertTrue(index_result.name == index_name) # ====================================== # Clean up # ====================================== rr_cli.delete(index_id)
def test_create_datastore_index(self): index_name = self.index_name ims_cli = self.ims_cli rr_cli = self.rr_cli options = SearchOptions() options.attribute_match = ['test_field'] index_id = ims_cli.create_index( name=index_name, content_type=IndexManagementService.DATASTORE_INDEX, options=options) index_result = self.rr_cli.read(index_id) self.assertIsInstance(index_result, ElasticSearchIndex) self.assertTrue(index_result.name == index_name) #====================================== # Clean up #====================================== rr_cli.delete(index_id)
def test_create_couchdb_index(self): index_name = self.index_name ims_cli = self.ims_cli rr_cli = self.rr_cli options = SearchOptions() options.attribute_match = ['name'] index_id = ims_cli.create_index( index_name, content_type=IndexManagementService.COUCHDB_INDEX, options=options, datastore_name='fake', view_name='fake/by_fake') index_result = self.rr_cli.read(index_id) self.assertIsInstance(index_result, CouchDBIndex) self.assertTrue(index_result.name == index_name) #====================================== # Clean up #====================================== rr_cli.delete(index_id)
def test_create_couchdb_index(self): index_name = self.index_name ims_cli = self.ims_cli rr_cli = self.rr_cli options = SearchOptions() options.attribute_match = ["name"] index_id = ims_cli.create_index( index_name, content_type=IndexManagementService.COUCHDB_INDEX, options=options, datastore_name="fake", view_name="fake/by_fake", ) index_result = self.rr_cli.read(index_id) self.assertIsInstance(index_result, CouchDBIndex) self.assertTrue(index_result.name == index_name) # ====================================== # Clean up # ====================================== rr_cli.delete(index_id)