### 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)

from airflow.models.dagrun import DagRun
from airflow.models.dagwarning import DagWarning
from airflow.models.taskinstance import TaskInstance
from airflow.utils import timezone
from airflow.utils.code_utils import get_python_source
from airflow.utils.helpers import alchemy_to_dict
from airflow.utils.state import State, TaskInstanceState
from airflow.www.forms import DateTimeWithTimezoneField
from airflow.www.widgets import AirflowDateTimePickerWidget
if TYPE_CHECKING:
    from sqlalchemy.orm.query import Query
    from sqlalchemy.orm.session import Session
    from sqlalchemy.sql.operators import ColumnOperators
    from airflow.www.fab_security.sqla.manager import SecurityManager
def datetime_to_string(value: DateTime | None) -> str | None:
    if value is None:
        return None
    return value.isoformat()
def get_mapped_instances(task_instance, session):
    return (
        session.query(TaskInstance)
        .filter(
            TaskInstance.dag_id == task_instance.dag_id,
            TaskInstance.run_id == task_instance.run_id,
            TaskInstance.task_id == task_instance.task_id,
        )
        .order_by(TaskInstance.map_index)
        .all()
    )
def get_instance_with_map(task_instance, session):