/// <inheritdoc />
        public ISearchBuilder SortByDateTime(string name)
        {
            _sort     = name;
            _comparer = SortField.Type_e.LONG;

            return(this);
        }
        /// <inheritdoc />
        public ISearchBuilder SortByDouble(string name)
        {
            _sort     = name;
            _comparer = SortField.Type_e.DOUBLE;

            return(this);
        }
        /// <inheritdoc />
        public ISearchBuilder SortByString(string name)
        {
            _sort     = name;
            _comparer = SortField.Type_e.STRING;

            return(this);
        }
        /// <inheritdoc />
        public ISearchBuilder SortByInteger(string name)
        {
            _sort     = name;
            _comparer = SortField.Type_e.INT;

            return(this);
        }
        /// <inheritdoc />
        public ISearchBuilder SortBy(string name)
        {
            _sort     = name;
            _comparer = 0;

            return(this);
        }
        /// <summary>
        /// Initializes a new instance of <see cref="SearchBuilder"/>.
        /// </summary>
        /// <param name="indexSearcherFactory">The indexes directory factory.</param>
        /// <param name="analyzer">The analyzer provider.</param>
        public SearchBuilder(Analyzer analyzer, Func <IndexSearcher> indexSearcherFactory)
        {
            Prevent.ParameterNull(analyzer, nameof(analyzer));
            Prevent.ParameterNull(indexSearcherFactory, nameof(indexSearcherFactory));

            _analyzer             = analyzer;
            _indexSearcherFactory = indexSearcherFactory;

            _count          = MAX_RESULTS;
            _skip           = 0;
            _sort           = string.Empty;
            _comparer       = 0;
            _sortDescending = true;

            InitializePendingClause();
        }