public ElasticQueryParserConfiguration UseMappings(ElasticMappingResolver resolver)
        {
            MappingResolver = resolver;

            return(this);
        }
        public ElasticQueryParserConfiguration UseMappings(Func <ITypeMapping> getMapping, Inferrer inferrer = null)
        {
            MappingResolver = ElasticMappingResolver.Create(getMapping, inferrer, logger: _logger);

            return(this);
        }
        public ElasticQueryParserConfiguration UseMappings(IElasticClient client, string index)
        {
            MappingResolver = ElasticMappingResolver.Create(client, index, logger: _logger);

            return(this);
        }
        public ElasticQueryParserConfiguration UseMappings <T>(IElasticClient client)
        {
            MappingResolver = ElasticMappingResolver.Create <T>(client, logger: _logger);

            return(this);
        }
        public ElasticQueryParserConfiguration UseMappings <T>(Func <TypeMappingDescriptor <T>, TypeMappingDescriptor <T> > mappingBuilder, Inferrer inferrer, Func <ITypeMapping> getMapping) where T : class
        {
            MappingResolver = ElasticMappingResolver.Create <T>(mappingBuilder, inferrer, getMapping, logger: _logger);

            return(this);
        }
        public ElasticQueryParserConfiguration UseMappings <T>(Func <TypeMappingDescriptor <T>, TypeMappingDescriptor <T> > mappingBuilder, IElasticClient client, string index) where T : class
        {
            MappingResolver = ElasticMappingResolver.Create <T>(mappingBuilder, client, index, logger: _logger);

            return(this);
        }