ESQL does not support cross-cluster search yet; when a CCS pattern is used in a FROM command, the error message is not very clear for the end user

<img width="590" alt="Screenshot 2023-11-27 alle 15 38 02" src="https://github.com/elastic/elasticsearch/assets/459289/5af48932-4a4c-416a-a926-7bd486d282a5">

We should make it more user friendly
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/plugin/ComputeService.java
}
        } catch (Exception e) {
            listener.onFailure(e);
        }
    }
    record TargetNode(DiscoveryNode node, List<ShardId> shardIds, Map<Index, AliasFilter> aliasFilters) {
    }
    private void computeTargetNodes(
        Task parentTask,
        QueryBuilder filter,
        Set<String> concreteIndices,
        String[] originalIndices,
        ActionListener<List<TargetNode>> listener
    ) {
        
        
        ThreadContext threadContext = transportService.getThreadPool().getThreadContext();
        ActionListener<SearchShardsResponse> preservingContextListener = ContextPreservingActionListener.wrapPreservingContext(
            listener.map(resp -> {
                Map<String, DiscoveryNode> nodes = new HashMap<>();
                for (DiscoveryNode node : resp.getNodes()) {
                    nodes.put(node.getId(), node);
                }
                Map<String, List<ShardId>> nodeToShards = new HashMap<>();
                Map<String, Map<Index, AliasFilter>> nodeToAliasFilters = new HashMap<>();
                for (SearchShardsGroup group : resp.getGroups()) {
                    var shardId = group.shardId();
                    if (group.skipped()) {
                        continue;
                    }