IFulltextQueryTDocumentToFutureList Method

Get a lazily initialized list of results. Accessing the results will trigger the execution of all pending future results as a batch of queries in a single roundtrip to searchd.

Definition

Namespace: SphinxConnector.FluentApi
Assembly: SphinxConnector (in SphinxConnector.dll) Version: 6.1.0
C#
Lazy<IList<TDocument>> ToFutureList()

Return Value

LazyIListTDocument
A lazily initialized list of results for the query.

Example

Suppose you have the following class representing a document in your index:
C#

    public class Product
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public decimal Price { get; set; }
        public int CategoryId { get; set; }
        public int VendorId { get; set; }
        public int Weight { get; set; }
    }

Consider the following example:
C#
using (IFulltextSession fulltextSession = fulltextStore.StartSession())
{                
    var results = fulltextSession.Query<Product>().
                                  Match("a product").        
                                  ToFutureList();

    var facets = fulltextSession.Query<Product>().
                                 Match("a product").
                                 GroupBy(p => p.CategoryId).
                                 Select(p => new 
                                 { 
                                       p.CategoryId,
                                       Count = Projection.Count()
                                 }).
                                 ToFutureList();

   //No query has been executed up to this point

   foreach (result in results.Value) //<-- accessing the result of a query will cause all pending future queries 
   {                                //to be executed in one roundtrip to Sphinx at this point
        //...
   }
}

See Also