Raven.Database.Indexing.Index.IndexQueryOperation.ExecuteQuery C# (CSharp) Method

ExecuteQuery() private method

private ExecuteQuery ( IndexSearcher indexSearcher, Query luceneQuery, int start, int pageSize, IndexQuery indexQuery ) : Lucene.Net.Search.TopDocs
indexSearcher Lucene.Net.Search.IndexSearcher
luceneQuery Lucene.Net.Search.Query
start int
pageSize int
indexQuery IndexQuery
return Lucene.Net.Search.TopDocs
			private TopDocs ExecuteQuery(IndexSearcher indexSearcher, Query luceneQuery, int start, int pageSize,
			                             IndexQuery indexQuery)
			{
				Filter filter = indexQuery.GetFilter();
				Sort sort = indexQuery.GetSort(filter, parent.indexDefinition);

				if (pageSize == Int32.MaxValue) // we want all docs
				{
					var gatherAllCollector = new GatherAllCollector();
					indexSearcher.Search(luceneQuery, filter, gatherAllCollector);
					return gatherAllCollector.ToTopDocs();
				}
				// NOTE: We get Start + Pagesize results back so we have something to page on
				if (sort != null)
				{
					return indexSearcher.Search(luceneQuery, filter, pageSize + start, sort);
				}
				return indexSearcher.Search(luceneQuery, filter, pageSize + start);
			}
		}