目前在做一个项目使用到了请求Solr接口,由于项目是基于VS2012开发的,所以就是用组件SolrNet.dll来请求Solr。但是返回的结果只有response中的对象,我请求的还有moreLikeThis集合却拿不到,所以请教大牛如何才能使用SolrNet那到MoreLikeThis中的集合对象?希望下面提供的内容已经满足了大家解决问题的需求。拜托!谢谢了
核心代码如下:
[Serializable] public class SolrCourse { [SolrField("id")] public string Id { get; set; } }
Startup.InitContainer(); string url = "http://localhost:25711/solr/collection_networkSchool"; Startup.Init<SolrCourse>(url); var solr = ServiceLocator.Current.GetInstance<ISolrOperations<SolrCourse>>(); var results = solr.Query(new SolrQueryByField("id", "10005"), new QueryOptions { Rows = 10, Fields = new Collection<string> { "id" }, MoreLikeThis = new MoreLikeThisParameters(new[] { "text" }) { MinDocFreq = 1, MinTermFreq = 1 } });
直接请求Solr接口结果如下:
监视对象如下:
网上加了一个交流群解决了我的问题,感谢那位朋友,results.SimilarResults这个就是MoreLikeThis集合。 结贴去,第一次发帖竟然是自己通过另外一种途径解决的……