def METHOD_NAME(self, **kwargs):
    """
    Query the database with a given dictionary of query parameters for a given properties
    :param query: a dictionary with the query parameters
    :param properties: the properties to query
    """
    try:
        METHOD_NAME = kwargs['query']
    except AttributeError:
        raise AttributeError(
            'Make sure the supplied dictionary has `query` as a key. This '
            'should contain a dictionary with the right query needed.'
        )
    try:
        properties = kwargs['properties']
    except AttributeError:
        raise AttributeError('Make sure the supplied dictionary has `properties` as a key.')
    if not isinstance(METHOD_NAME, dict):
        raise TypeError('The query argument should be a dictionary')
    if properties is None:
        properties = self._properties
    if properties != 'structure':
        raise ValueError(f'Unsupported properties: {properties}')
    results = []
    properties_list = ['material_id', 'cif']
    for entry in self._find(METHOD_NAME, properties_list):
        results.append(entry)
    search_results = MaterialsProjectSearchResults(results, return_class=MaterialsProjectCifEntry)
    return search_results