def to_searchable_text_metadata(value):
    """Parse the given metadata value to searchable text

    :param value: The raw value of the metadata column
    :returns: Searchable and translated unicode value or None
    """
    if not value:
        return u""
    if value is Missing.Value:
        return u""
    if is_uid(value):
        return u""
    if isinstance(value, (bool)):
        return u""
    if isinstance(value, (list, tuple)):
        for v in value:
            return to_searchable_text_metadata(v)
    if isinstance(value, (dict)):
        for k, v in value.items():
            return to_searchable_text_metadata(v)
    if is_date(value):
        return value.strftime("%Y-%m-%d")
    if not isinstance(value, basestring):
        value = str(value)
    return safe_unicode(value)
Parse the given metadata value to searchable text

    :param value: The raw value of the metadata column
    :returns: Searchable and translated unicode value or None