Exemple #1
0
        /// <summary>
        /// Executes a MoreLikeThis handler query
        /// </summary>
        /// <param name="q"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public SolrMoreLikeThisHandlerResults <T> Execute(SolrMLTQuery q, MoreLikeThisHandlerQueryOptions options)
        {
            var param = GetAllMoreLikeThisHandlerParameters(q, options).ToList();
            var r     = connection.Get(MoreLikeThisHandler, param);
            var qr    = mlthResultParser.Parse(r);

            return(qr);
        }
Exemple #2
0
        public async Task <SolrMoreLikeThisHandlerResults <T> > ExecuteAsync(SolrMLTQuery query, ISolrQueryBody body,
                                                                             MoreLikeThisHandlerQueryOptions options,
                                                                             CancellationToken cancellationToken = default(CancellationToken))
        {
            var param          = GetAllMoreLikeThisHandlerParameters(query, options).ToList();
            var serializedBody = body?.Serialize() ?? String.Empty;
            var r = await connection.PostStreamAsync(MoreLikeThisHandler, body?.MimeType ?? MediaTypeNames.Text.Plain,
                                                     new MemoryStream(Encoding.UTF8.GetBytes(serializedBody)), param);

            var qr = mlthResultParser.Parse(r);

            return(qr);
        }
Exemple #3
0
 public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
 {
     return(PerformOperation(operations => operations.MoreLikeThis(query, options)));
 }
Exemple #4
0
 public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
 => PerformOperation(operations => operations.MoreLikeThisAsync(query, options));
Exemple #5
0
 public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
 {
     return(this.queryExecuter.Execute(query, options));
 }
 public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
 {
     throw new NotImplementedException();
 }
Exemple #7
0
 public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
 {
     throw new NotImplementedException();
 }
 public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options) => basicServer.MoreLikeThisAsync(query, options);
Exemple #9
0
 /// <inheritdoc />
 public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
 {
     return(this.queryExecuter.ExecuteAsync(query, options, cancellationToken));
 }
Exemple #10
0
 public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
 {
     return(this.queryExecuter.ExecuteAsync(query, options));
 }
 public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
 {
     SetLastOperation();
     return(Task.FromResult <SolrMoreLikeThisHandlerResults <T> >(null));
 }
 public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
 {
     SetLastOperation();
     return(null);
 }
Exemple #13
0
 public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken)) => basicServer.MoreLikeThisAsync(query, options, cancellationToken);
Exemple #14
0
 public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
 {
     SetLastOperation();
     return(Task.FromResult <SolrMoreLikeThisHandlerResults <T> >(null));
 }
Exemple #15
0
 public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
 {
     return(basicServer.MoreLikeThis(query, options));
 }
Exemple #16
0
        public async Task <SolrMoreLikeThisHandlerResults <T> > ExecuteAsync(SolrMLTQuery q, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken))
        {
            var param = GetAllMoreLikeThisHandlerParameters(q, options).ToList();
            var r     = await connection.GetAsync(MoreLikeThisHandler, param, cancellationToken);

            var qr = mlthResultParser.Parse(r);

            return(qr);
        }
Exemple #17
0
 public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
 => PerformBasicOperation(operations => operations.MoreLikeThisAsync(query, options));
Exemple #18
0
        /// <summary>
        /// Serializes all More Like This handler parameters
        /// </summary>
        /// <param name="query"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public IEnumerable <KeyValuePair <string, string> > GetAllMoreLikeThisHandlerParameters(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
        {
            yield return
                (query.Switch <KeyValuePair <string, string> >(
                     query: q => KV.Create("q", querySerializer.Serialize(q)),
                     streamBody: body => KV.Create("stream.body", body),
                     streamUrl: url => KV.Create("stream.url", url.ToString())));

            if (options == null)
            {
                yield break;
            }

            foreach (var p in GetCommonParameters(options))
            {
                yield return(p);
            }

            foreach (var p in GetMoreLikeThisHandlerParameters(options.Parameters))
            {
                yield return(p);
            }
        }
Exemple #19
0
 public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options)
 {
     provider.LastOperation = "MoreLikeThis";
     return(null);
 }