RedisFilterOperator.EQ: "==",
        RedisFilterOperator.NE: "!=",
        RedisFilterOperator.IN: "==",
    }
    OPERATOR_MAP: Dict[RedisFilterOperator, str] = {
        RedisFilterOperator.EQ: "@%s:{%s}",
        RedisFilterOperator.NE: "(-@%s:{%s})",
        RedisFilterOperator.IN: "@%s:{%s}",
    }
[docs]    def __init__(self, field: str):
        """Create a RedisTag FilterField
        Args:
            field (str): The name of the RedisTag field in the index to be queried
                against.
        """
        super().__init__(field)
    def _set_tag_value(
        self, other: Union[List[str], str], operator: RedisFilterOperator
    ) -> None:
        if isinstance(other, list):
            if not all(isinstance(tag, str) for tag in other):
                raise ValueError("All tags must be strings")
        else:
            other = [other]
        self._set_value(other, list, operator)
    @check_operator_misuse
    def __eq__(self, other: Union[List[str], str]) -> "RedisFilterExpression":
        """Create a RedisTag equality filter expression
        Args:
            other (Union[List[str], str]): The tag(s) to filter on.
        Example:
            >>> from langchain.vectorstores.redis import RedisTag
            >>> filter = RedisTag("brand") == "nike"
        """
        self._set_tag_value(other, RedisFilterOperator.EQ)
        return RedisFilterExpression(str(self))
    @check_operator_misuse
    def __ne__(self, other: Union[List[str], str]) -> "RedisFilterExpression":