Some search API query parameters, such as `analyzer`, require the `q` query parameter. Similarly, the `suggest_mode` query parameter requires both the `suggest_field` and `suggest_text` query parameters.

If you attempt to use these parameters without the required parameters, Elasticsearch returns the following message:

```
request [/<index>/_search] contains unrecognized parameter: [<parameter>]
```

This suggests the parameter is invalid, which isn't true. It'd be more helpful to list the other required parameters.

Relates to #79674 and #79716.
server/src/main/java/org/elasticsearch/rest/action/RestActions.java
long version = parseVersion(request);
        return (version == Versions.MATCH_ANY) ? defaultVersion : version;
    }
    public static void buildBroadcastShardsHeader(XContentBuilder builder, Params params, BroadcastResponse response) throws IOException {
        buildBroadcastShardsHeader(
            builder,
            params,
            response.getTotalShards(),
            response.getSuccessfulShards(),
            -1,
            response.getFailedShards(),
            response.getShardFailures()
        );
    }
    public static void buildBroadcastShardsHeader(
        XContentBuilder builder,
        Params params,
        int total,
        int successful,
        int skipped,
        int failed,
        ShardOperationFailedException[] shardFailures
    ) throws IOException {
        builder.startObject(_SHARDS_FIELD.getPreferredName());
        builder.field(TOTAL_FIELD.getPreferredName(), total);
        builder.field(SUCCESSFUL_FIELD.getPreferredName(), successful);
        if (skipped >= 0) {
            builder.field(SKIPPED_FIELD.getPreferredName(), skipped);
        }
        builder.field(FAILED_FIELD.getPreferredName(), failed);