我正在使用 SOLRNET,并且正在使用 SOLR 的 MoreLikeThis 功能来获取与返回的文档相似的文档。我的代码看起来有点像这样(在这种情况下,我正在查找 ID,因为我已经知道要加载的特定文档):
var solr = ServiceLocator.Current.GetInstance<ISolrOperations<MyDocument>>();
var queryOptions = new QueryOptions()
{
MoreLikeThis = new MoreLikeThisParameters(new[] { "text" })
{
MinDocFreq = 1, // minimum document frequency
MinTermFreq = 1, // minimum term frequency
},
};
var document = solr.Query(new SolrQuery(string.Concat("id:", id)),queryOptions);
当我执行我的查询时,一切都完全正常,并且我的文档被检索为 MyDocument 类型。我可以遍历 SOLRNET 的 SimilarResults 字典,看到确实返回了类似的文档。我想知道是否有一种本地方法可以映射 MyDocument 类中的字段,以便填充 MyDocument 类型的集合,表示返回的类似文档。
如果我必须一个一个地遍历 SimilarDocuments,那很好,但我猜有一种简单的方法可以做到这一点。我已经尝试了明显的技巧,例如在 MyDocument 类中使用属性进行映射
[SolrField("moreLikeThis")]
public IDictionary<string,IList<MyDocument>> SimilarResults { get; set; }
任何帮助将不胜感激,
提前致谢
J.P