The `search` field is used to indicate that we want to perform a search.
The `input` argument specifies the search criteria, including the type of entity being searched, the search query term, the start index of the search results, and the count of results to return.
The `query` term is used to specify the search term.
The search term can be a simple string, or it can be a more complex query using patterns.
-`*` : Search for all entities.
-`*[string]` : Search for all entities that contain aspects **starting with** the specified \[string\].
-`[string]*` : Search for all entities that contain aspects **ending with** the specified \[string\].
-`*[string]*` : Search for all entities that **match** aspects named \[string\].
-`[string]` : Search for all entities that **contain** the specified \[string\].
:::note
Note that by default Elasticsearch only allows pagination through 10,000 entities via the search API.
If you need to paginate through more, you can change the default value for the `index.max_result_window` setting in Elasticsearch, or using the scroll API to read from the index directly.
:::
## Modifying an Entity: Mutations
:::note
Mutations which change Entity metadata are subject to [DataHub Access Policies](../../authorization/policies.md).
This means that DataHub's server will check whether the requesting actor is authorized to perform the action.
:::
To update an existing Metadata Entity, simply use the `update<entityName>(urn: String!, input: EntityUpdateInput!)` GraphQL Query.
For example, to update a Dashboard entity, you can issue the following GraphQL mutation:
> Visit our [Slack channel](https://slack.datahubproject.io) to ask questions, tell us what we can do better, & make requests for what you'd like to see in the future. Or just