docs: def getIds(self, query='*:*', fq=None, start=0, rows=1000):
          """Returns a dictionary of: matches: number of matches failed: if true, then an
          exception was thrown start: starting index ids: [id, id, ...]
  
          See also the SOLRSearchResponseIterator class
  
          """
          params = {'q': query, 'start': str(start), 'rows': str(rows), 'wt': 'python'}
          if fq is not None:
              params['fq'] = fq
          request = urllib.parse.urlencode(params, doseq=True)
          data = None
          response = {'matches': 0, 'start': start, 'failed': True, 'ids': []}
          try:
              rsp = self.doPost(self.solrBase + '', request, self.formheaders)
              data = eval(rsp.read())
          except Exception:
              pass
          if data is None:
              return response
          response['failed'] = False
          response['matches'] = data['response']['numFound']
          for doc in data['response']['docs']:
              response['ids'].append(doc['id'][0])
          return response