code: def get_keyword_query(self, **kw):
          
          query = dict()
  
          # Only known indexes get observed
          indexes = self.catalog.get_indexes()
  
          # Handle additional keyword parameters
          for k, v in kw.iteritems():
              # handle uid in keywords
              if k.lower() == "uid":
                  k = "UID"
              # handle portal_type in keywords
              if k.lower() == "portal_type":
                  if v:
                      v = _.to_list(v)
              if k not in indexes:
                  logger.warn("Skipping unknown keyword parameter '%s=%s'" % (k, v))
                  continue
              if v is None:
                  logger.warn("Skip None value in kw parameter '%s=%s'" % (k, v))
                  continue
              logger.debug("Adding '%s=%s' to query" % (k, v))
              query[k] = v
  
          return query
docs: Generates a query from the given keywords.
          Only known indexes make it into the generated query.
  
          :returns: Catalog query
          :rtype: dict