def METHOD_NAME(self, q="", page=None, *args, **kwargs):
    if not q:
        q = ""
    svc = get_service("indexing")
    url_for_hit = svc.app_state.url_for_hit
    search_kwargs = {"facet_by_type": 5}
    results = svc.search(q, **search_kwargs)
    datasets = {}
    for typename, docs in results.items():
        dataset = []
        for doc in docs:
            # Because it happens sometimes
            try:
                name = doc["name"]
            except KeyError:
                continue
            d = {"name": name}
            url = url_for_hit(doc, None)
            if url is not None:
                d["url"] = url
                dataset.append(d)
        datasets[typename] = dataset
    return {"results": datasets}