def get_fields(self): """ Get provider field information (names, types) :returns: dict of fields """ fields_ = {} ic = IndicesClient(self.es) ii = ic.get(self.index_name) try: p = ii[self.index_name]['mappings']['properties'][ 'properties'] # noqa except KeyError: LOGGER.debug('ES index looks generated by GDAL') self.is_gdal = True p = ii[self.index_name]['mappings'] for k, v in p['properties'].items(): if 'type' in v: if v['type'] == 'text': type_ = 'string' else: type_ = v['type'] fields_[k] = type_ return fields_
def get_fields(self): """ Get provider field information (names, types) :returns: dict of fields """ fields_ = {} ic = IndicesClient(self.es) ii = ic.get(self.index_name) try: if '*' not in self.index_name: p = ii[self.index_name]['mappings']['properties']['properties'] else: LOGGER.debug('Wildcard index; setting from first match') index_name_ = list(ii.keys())[0] p = ii[index_name_]['mappings']['properties']['properties'] except KeyError: LOGGER.debug('ES index looks generated by GDAL') self.is_gdal = True p = ii[self.index_name]['mappings'] for k, v in p['properties'].items(): if 'type' in v: if v['type'] == 'text': fields_[k] = {'type': 'string'} elif v['type'] == 'date': fields_[k] = {'type': 'string', 'format': 'date'} else: fields_[k] = {'type': v['type']} return fields_
def get_fields(self): """ Get provider field information (names, types) :returns: dict of fields """ fields_ = {} ic = IndicesClient(self.es) ii = ic.get(self.index_name) p = ii[self.index_name]['mappings'][self.type_name]['properties']['properties'] # noqa for k, v in p['properties'].items(): if v['type'] == 'text': type_ = 'string' else: type_ = v['type'] fields_[k] = {'type': type_} return fields_