### Description

Going to Airflow web UI, Browse>DAG Run displays the list of runs, but there is no way to search or filter based on the text in the "Note" column.

### Use case/motivation

It is possible to do a free text search for the "Run Id" field. The Note field may contain pieces of information that may be relevant to find, or to filter on the basis of these notes.

### Related issues

Sorting by Note in List Dag Run fails: 
https://github.com/apache/airflow/issues/30041

### Are you willing to submit a PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

"md": wrapped_markdown,
        "mysql": lambda x: render(x, lexers.MySqlLexer),
        "postgresql": lambda x: render(x, lexers.PostgresLexer),
        "powershell": lambda x: render(x, lexers.PowerShellLexer),
        "py": lambda x: render(get_python_source(x), lexers.PythonLexer),
        "python_callable": lambda x: render(get_python_source(x), lexers.PythonLexer),
        "rst": lambda x: render(x, lexers.RstLexer),
        "sql": lambda x: render(x, lexers.SqlLexer),
        "tsql": lambda x: render(x, lexers.TransactSqlLexer),
        "yaml": lambda x: render(x, lexers.YamlLexer),
    }
def get_chart_height(dag):
    """
    We use the number of tasks in the DAG as a heuristic to
    approximate the size of generated chart (otherwise the charts are tiny and unreadable
    when DAGs have a large number of tasks). Ideally nvd3 should allow for dynamic-height
    charts, that is charts that take up space based on the size of the components within.
    TODO(aoen): See [AIRFLOW-1263].
    """
    return 600 + len(dag.tasks) * 10
class UtcAwareFilterMixin:
    """Mixin for filter for UTC time."""
    def apply(self, query, value):
        """Apply the filter."""
        if isinstance(value, str) and not value.strip():
            value = None
        else:
            value = timezone.parse(value, timezone=timezone.utc)
        return super().apply(query, value)
class FilterIsNull(BaseFilter):