def to_solr_hash_map(self, index, solr_doc):
    hash_map = {}
    hash_map['id'] = solr_doc.id
    hash_map[Document.INDEX_NAME] = index.name
    if solr_doc.language:
      hash_map[Document.INDEX_LOCALE] = solr_doc.language

    for field in solr_doc.fields:
      value = field.value
      field_type = field.field_type
      if field_type == Field.HTML:
        hash_map[index.name + "_" + field.name] = value
      elif field_type == Field.ATOM:
        hash_map[index.name + "_" + field.name] = value
      elif field_type == Field.NUMBER:
        hash_map[index.name + "_" + field.name] = value
      elif field_type == Field.DATE:
        iso8601 = datetime.fromtimestamp(float(value)/1000).isoformat()
        hash_map[index.name + "_" + field.name] = iso8601
      elif field_type == Field.GEO:
        hash_map[index.name + "_" + field.name] = value
      else: 
        hash_map[index.name + "_" + field.name] = value
    return hash_map
Do lowering for nopython
dataset/ETHPy150Open AppScale/appscale/SearchService/solr_interface.py/Solr.to_solr_hash_map--crossover with--dataset/ETHPy150Open numba/numba/numba/compiler.py/Pipeline.stage_nopython_backend