def METHOD_NAME(self, index):
    """
    Iterates over dataset yielding each row.
    Args:
        index: yields rows for embeddings indexing if True, otherwise yields database rows
    """
    with open(os.path.join(self.path, "filtered.txt"), encoding="utf-8") as infile:
        for x, row in enumerate(infile):
            if x % 1000 == 0:
                print(f"Processed {x} rows", end="\r")
            row = row.split("\t")
            uid, data = row[1], json.loads(row[4])
            description = data["description"]
            if isinstance(description, dict):
                description = description["value"]
            if "title" in data:
                if index:
                    yield (uid, data["title"] + ". " + description, None)
                else:
                    cover = f"{data['covers'][0]}" if "covers" in data and data["covers"] else None
                    yield (uid, data["title"], description, cover)