private static IQueryable <TResult> GetLuceneQueryable <TResult>(LuceneSearchWithSpatialContext context, IExecutionContext[] executionContext)
        {
            var linqToLuceneIndex = new LinqToLuceneIndexWithSpatial <TResult>(context, executionContext);

            if (context.Index.Locator.GetInstance <IContentSearchConfigurationSettings>().EnableSearchDebug())
            {
                ((IHasTraceWriter)linqToLuceneIndex).TraceWriter = new LoggingTraceWriter(SearchLog.Log);
            }
            return(linqToLuceneIndex.GetQueryable());
        }
        public new IQueryable <TItem> GetQueryable <TItem>(params IExecutionContext[] executionContexts)
        {
            LinqToLuceneIndexWithSpatial <TItem> linqToLuceneIndex = new LinqToLuceneIndexWithSpatial <TItem>(this, executionContexts);

            if (settings.EnableSearchDebug())
            {
                ((IHasTraceWriter)linqToLuceneIndex).TraceWriter = new LoggingTraceWriter(SearchLog.Log);
            }
            QueryGlobalFiltersArgs args = new QueryGlobalFiltersArgs(linqToLuceneIndex.GetQueryable(), typeof(TItem), executionContexts.ToList <IExecutionContext>());

            this.Index.Locator.GetInstance <ICorePipeline>().Run("contentSearch.getGlobalLinqFilters", args);
            return((IQueryable <TItem>)args.Query);
        }