code: def get_query_indexes(self, raw_result=False):
          
  
          url = '/'.join((self.database_url, '_index'))
          resp = self.r_session.get(url)
          resp.raise_for_status()
  
          if raw_result:
              return response_to_json_dict(resp)
  
          indexes = []
          for data in response_to_json_dict(resp).get('indexes', []):
              if data.get('type') == JSON_INDEX_TYPE:
                  indexes.append(Index(
                      self,
                      data.get('ddoc'),
                      data.get('name'),
                      partitioned=data.get('partitioned', False),
                      **data.get('def', {})
                  ))
              elif data.get('type') == TEXT_INDEX_TYPE:
                  indexes.append(TextIndex(
                      self,
                      data.get('ddoc'),
                      data.get('name'),
                      partitioned=data.get('partitioned', False),
                      **data.get('def', {})
                  ))
              elif data.get('type') == SPECIAL_INDEX_TYPE:
                  indexes.append(SpecialIndex(
                      self,
                      data.get('ddoc'),
                      data.get('name'),
                      partitioned=data.get('partitioned', False),
                      **data.get('def', {})
                  ))
              else:
                  raise CloudantDatabaseException(101, data.get('type'))
          return indexes
docs: Retrieves query indexes from the remote database.
  
          :param bool raw_result: If set to True then the raw JSON content for
              the request is returned.  Default is to return a list containing
              :class:`~cloudant.index.Index`,
              :class:`~cloudant.index.TextIndex`, and
              :class:`~cloudant.index.SpecialIndex` wrapped objects.
  
          :returns: The query indexes in the database