public SolrQueryExecuter(ISolrQueryResultParser <T> resultParser, ISolrConnection connection, ISolrQuerySerializer querySerializer, ISolrFacetQuerySerializer facetQuerySerializer) { this.resultParser = resultParser; this.connection = connection; this.querySerializer = querySerializer; this.facetQuerySerializer = facetQuerySerializer; DefaultRows = ConstDefaultRows; }
/// <summary> /// Make a new CrownPeakQueryExecuter /// </summary> /// <param name="resultParser"></param> /// <param name="connection"></param> /// <param name="querySerializer"></param> /// <param name="facetQuerySerializer"></param> /// <param name="mlthResultParser"></param> public CrownPeakQueryExecuter(ISolrAbstractResponseParser <T> resultParser, ISolrConnection connection, ISolrQuerySerializer querySerializer, ISolrFacetQuerySerializer facetQuerySerializer, ISolrMoreLikeThisHandlerQueryResultsParser <T> mlthResultParser) : base(resultParser, connection, querySerializer, facetQuerySerializer, mlthResultParser) { _parser = resultParser as ICrownPeakResponseParser <T>; _connection = connection; }
/// <summary> /// Constructor /// </summary> /// <param name="resultParser"></param> /// <param name="connection"></param> /// <param name="querySerializer"></param> /// <param name="facetQuerySerializer"></param> /// <param name="mlthResultParser"></param> public SolrQueryExecuter(ISolrConnection connection, ISolrQuerySerializer querySerializer, ISolrFacetQuerySerializer facetQuerySerializer) { this.connection = connection; this.querySerializer = querySerializer; this.facetQuerySerializer = facetQuerySerializer; DefaultRows = ConstDefaultRows; Handler = DefaultHandler; MoreLikeThisHandler = DefaultMoreLikeThisHandler; }
/// <summary> /// Constructor /// </summary> /// <param name="resultParser"></param> /// <param name="connection"></param> /// <param name="querySerializer"></param> /// <param name="facetQuerySerializer"></param> /// <param name="mlthResultParser"></param> public SolrQueryExecuter(ISolrAbstractResponseParser <T> resultParser, ISolrConnection connection, ISolrQuerySerializer querySerializer, ISolrFacetQuerySerializer facetQuerySerializer, ISolrMoreLikeThisHandlerQueryResultsParser <T> mlthResultParser) { this.resultParser = resultParser; this.mlthResultParser = mlthResultParser; this.connection = connection; this.querySerializer = querySerializer; this.facetQuerySerializer = facetQuerySerializer; DefaultRows = ConstDefaultRows; MoreLikeThisHandler = DefaultMoreLikeThisHandler; }
public AggregateFacetQuerySerializer(ISolrFacetQuerySerializer[] serializers) { this.serializers = serializers; }
public SolrQueryBuilderOperation(ISolrQuerySerializer querySerializer, ISolrFacetQuerySerializer facetQuerySerializer) { this.querySerializer = querySerializer; this.facetQuerySerializer = facetQuerySerializer; }
public SolrInjectionQueryExecuter(ISolrAbstractResponseParser <TModel> resultParser, ISolrInjectedConnection <TModel> injectionConnection, ISolrQuerySerializer querySerializer, ISolrFacetQuerySerializer facetQuerySerializer, ISolrMoreLikeThisHandlerQueryResultsParser <TModel> mlthResultParser) : base(resultParser, injectionConnection.Connection, querySerializer, facetQuerySerializer, mlthResultParser) { }
public static IExecuter <TNew> ChangeType <TNew, TOld>( this IExecuter <TOld> executer, MethodCallExpression expression, SelectExpressionsCollection selectExpressionsCollection) { if (executer == null) { throw new ArgumentNullException(nameof(executer)); } if (expression == null) { throw new ArgumentNullException(nameof(expression)); } if (selectExpressionsCollection == null) { throw new ArgumentNullException(nameof(selectExpressionsCollection)); } try { SolrQueryExecuter <TOld> oldExecuter = executer.Executer; ISolrConnection connection = oldExecuter.GetFieldRecursive <ISolrConnection>(); ISolrQuerySerializer serializer = oldExecuter.GetFieldRecursive <ISolrQuerySerializer>(); ISolrFacetQuerySerializer facetQuerySerializer = oldExecuter.GetFieldRecursive <ISolrFacetQuerySerializer>(); ISolrDocumentResponseParser <TOld> oldParser = oldExecuter.GetFieldRecursive <ISolrDocumentResponseParser <TOld> >(); ISolrFieldParser fieldParser = oldParser.GetFieldRecursive <ISolrFieldParser>(); SolrDictionaryDocumentResponseParser dictionaryParser = new SolrDictionaryDocumentResponseParser(fieldParser); ISolrDocumentResponseParser <TNew> docParser; if (expression.Method.DeclaringType == typeof(Queryable) && expression.Method.Name == nameof(Queryable.Cast)) { docParser = new CastResponseParser <TNew, TOld>(oldParser, dictionaryParser); } else if (expression.Method.DeclaringType == typeof(Queryable) && expression.Method.Name == nameof(Queryable.Select)) { docParser = new SelectResponseParser <TNew, TOld>(oldParser, dictionaryParser, expression, selectExpressionsCollection); } else { throw new InvalidOperationException( $"Unable to change query type from {typeof(TOld).Name} to {typeof(TNew).Name}. Method {expression.Method.Name} not supported"); } ISolrAbstractResponseParser <TNew> parser = new DefaultResponseParser <TNew>(docParser); SolrQueryExecuter <TNew> newExecuter = new SolrQueryExecuter <TNew>(parser, connection, serializer, facetQuerySerializer, new SolrMoreLikeThisHandlerQueryResultsParser <TNew>(Enumerable.Repeat(parser, 1))); newExecuter.DefaultHandler = oldExecuter.DefaultHandler; newExecuter.DefaultRows = oldExecuter.DefaultRows; newExecuter.MoreLikeThisHandler = oldExecuter.MoreLikeThisHandler; return(new SelectQueryExecutor <TNew>(newExecuter)); } catch (Exception e) { throw new InvalidOperationException( $"Unable to change solr query executer from {typeof(TOld)} to {typeof(TNew)}.", e); } }