docs: def search(self):
          """
          *trigger the conesearch*
  
          **Return:**
              - ``matchIndies`` -- the indicies of the input transient sources (syncs with ``uniqueMatchDicts``)
              - ``uniqueMatchDicts`` -- the crossmatch results
  
          **Usage:**
  
              See class docstring for usage examples
  
          .. todo ::
  
              - update key arguments values and definitions with defaults
              - update return values and definitions
              - update usage examples and text
              - update docstring text
              - check sublime snippet exists
              - clip any useful text to docs mindmap
              - regenerate the docs and check redendering of this docstring
          """
          self.log.debug('starting the ``search`` method')
  
          # ACCOUNT FOR TYPE OF SEARCH
          sqlWhere = False
          magnitudeLimitFilter = self.magnitudeLimitFilter
          disCols = ["zColName",
                     "distanceColName", "semiMajorColName"]
          sqlWhere = ""
  
          if self.physicalSearch == True:
              for d in disCols:
                  colName = self.colMaps[self.tableName][d]
                  if colName:
                      sqlWhere += " or `%(colName)s` is not null" % locals()
                  if len(sqlWhere):
                      sqlWhere = " and (" + sqlWhere[4:] + ")"
  
          if self.upperMagnitudeLimit != False and self.upperMagnitudeLimit and not self.lowerMagnitudeLimit:
              mag = self.upperMagnitudeLimit
              sqlWhere += " and `%(magnitudeLimitFilter)s` > %(mag)s" % locals()
          if self.lowerMagnitudeLimit != False and self.lowerMagnitudeLimit and not self.upperMagnitudeLimit:
              mag = self.lowerMagnitudeLimit
              sqlWhere += " and `%(magnitudeLimitFilter)s` < %(mag)s" % locals()
          # THE GENERAL (INBETWEEN) CASE
          if self.lowerMagnitudeLimit != False and self.lowerMagnitudeLimit and self.upperMagnitudeLimit != False and self.upperMagnitudeLimit:
              upperMagnitudeLimit = self.upperMagnitudeLimit
              lowerMagnitudeLimit = self.lowerMagnitudeLimit
              sqlWhere += " and ((`%(magnitudeLimitFilter)s` > %(upperMagnitudeLimit)s and `%(magnitudeLimitFilter)s` < %(lowerMagnitudeLimit)s) or `%(magnitudeLimitFilter)s` is null)" % locals()
  
          if sqlWhere and " and" == sqlWhere[0:4]:
              sqlWhere = sqlWhere[5:]
  
          # THE COLUMN MAP LIFTED FROM ``tcs_helper_catalogue_tables_info` TABLE
          # IN CATALOGUE DATABASE (COLUMN NAMES ENDDING WITH 'ColName')
          columns = {}
          for k, v in self.colMaps[self.tableName].iteritems():
              name = k.replace("ColName", "")
              if "colname" in k.lower() and v:
                  columns[k] = "`%(v)s` as `%(name)s`" % locals()
          columns = ", ".join(columns.values())
  
          cs = hmptyConesearch(
              log=self.log,
              dbConn=self.dbConn,
              tableName=self.tableName,
              columns=columns,
              ra=self.ra,
              dec=self.dec,
              radiusArcsec=self.radius,
              separations=True,
              distinct=False,
              sqlWhere=sqlWhere,
              closest=self.nearestOnly,
              raCol="ra",
              decCol="dec"
          )
          matchIndies, matches = cs.search()
  
          # MATCH ARE NOT NECESSARILY UNIQUE IF MANY TRANSIENT MATCH ONE SOURCE
          uniqueMatchDicts = []
          uniqueMatchDicts[:] = [copy.copy(d) for d in matches.list]
  
          self.log.debug('completed the ``search`` method')
          return matchIndies, uniqueMatchDicts