public void MoreLikeThisHandler() { var solr = ServiceLocator.Current.GetInstance <ISolrOperations <Product> >(); solr.Delete(SolrQuery.All); solr.Commit(); AddSampleDocs(); var mltParams = new MoreLikeThisHandlerParameters(new[] { "cat", "name" }) { MatchInclude = true, MinTermFreq = 1, MinDocFreq = 1, ShowTerms = InterestingTerms.List, }; var q = SolrMLTQuery.FromQuery(new SolrQuery("id:UTF8TEST")); var results = solr.MoreLikeThis(q, new MoreLikeThisHandlerQueryOptions(mltParams)); Assert.Equal(2, results.Count); Assert.NotNull(results.Match); Assert.Equal("UTF8TEST", results.Match.Id); Assert.True(results.InterestingTerms.Count > 0); foreach (var t in results.InterestingTerms) { Console.WriteLine("Interesting term: {0} ({1})", t.Key, t.Value); } }
/// <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); }
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); }
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); }
public void MoreLikeThisHandler() { var mltParams = new MoreLikeThisHandlerParameters(new[] { "cat", "name" }) { MatchInclude = true, MinTermFreq = 1, MinDocFreq = 1, ShowTerms = InterestingTerms.List, }; var q = SolrMLTQuery.FromQuery(new SolrQuery("id:UTF8TEST")); var results = solr.MoreLikeThis(q, new MoreLikeThisHandlerQueryOptions(mltParams)); Assert.AreEqual(2, results.Count); Assert.IsNotNull(results.Match); Assert.AreEqual("UTF8TEST", results.Match.Id); Assert.That(results.InterestingTerms.Count, Is.GreaterThan(0)); }
public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options) { return(basicServer.MoreLikeThis(query, options)); }
public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options) { return(PerformOperation(operations => operations.MoreLikeThis(query, options))); }
public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken)) { SetLastOperation(); return(Task.FromResult <SolrMoreLikeThisHandlerResults <T> >(null)); }
public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options) { return(this.queryExecuter.Execute(query, options)); }
public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken)) => PerformOperation(operations => operations.MoreLikeThisAsync(query, options));
public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken)) { throw new NotImplementedException(); }
public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options) { throw new NotImplementedException(); }
/// <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); } }
public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options) => basicServer.MoreLikeThisAsync(query, options);
/// <inheritdoc /> public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken)) { return(this.queryExecuter.ExecuteAsync(query, options, cancellationToken)); }
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); }
public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options, CancellationToken cancellationToken = default(CancellationToken)) => basicServer.MoreLikeThisAsync(query, options, cancellationToken);
public Task <SolrMoreLikeThisHandlerResults <T> > MoreLikeThisAsync(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options) => PerformBasicOperation(operations => operations.MoreLikeThisAsync(query, options));
public SolrMoreLikeThisHandlerResults <T> MoreLikeThis(SolrMLTQuery query, MoreLikeThisHandlerQueryOptions options) { provider.LastOperation = "MoreLikeThis"; return(null); }