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 LinqToLuceneIndexWithSpatial(LuceneSearchWithSpatialContext context, IExecutionContext[] executionContext)
            : base(context, executionContext)
        {
            this.context          = context;
            this.executionContext = executionContext;

            queryMapper       = new Sitecore.ContentSearch.Spatial.Query.LuceneQueryMapperWithSpatial(new LuceneIndexParameters(context.Index.Configuration.IndexFieldStorageValueFormatter, ((LuceneIndexConfiguration)context.Index.Configuration).Analyzer, context.Index.Configuration.VirtualFieldProcessors, context.Index.FieldNameTranslator, executionContext));
            queryOptimizer    = new Sitecore.ContentSearch.Spatial.Query.LuceneQueryOptimizerWithSpatial();
            linqToLuceneIndex = new LinqToLuceneIndex <TItem>(context, executionContext);
        }
 public LinqToLuceneIndexWithSpatial(LuceneSearchWithSpatialContext context, IExecutionContext executionContext)
     : this(context, new IExecutionContext[] { executionContext })
 {
 }
 public LinqToLuceneIndexWithSpatial(LuceneSearchWithSpatialContext context)
     : this(context, (IExecutionContext[])null)
 {
 }