0

我正在使用 SOLR 并尝试过滤 MoreLikeThis 查询。每次我做过滤器时,我都会得出零结果。这是我正在使用的代码:

var results = solr.Query(new SolrQuery("id:" + id)
                         && !new SolrQuery("siteid:" + SiteId), new QueryOptions
{
    MoreLikeThis = new MoreLikeThisParameters(new[] { "content" })
    {
        MinDocFreq = 1,
        MinTermFreq = 1,
        Count = rows
    },
    Fields = new[] { "id" },
    OrderBy = new[] { new SortOrder("score", Order.ASC) },
    Start = start
});

如您所见!new SolrQuery("site:" + SiteId),是过滤器。当我在查询中添加此过滤器时,我没有得到任何结果。

这是查询的作用。我在 solr 索引中有一堆网页:

  • ID
  • 标题
  • 内容
  • 站点标识

morelikethis 查询需要一个id然后获取相似的文档。过滤器假设通过 siteid 过滤网页。当我应用 siteid 过滤器时,它不起作用。对此有什么想法吗?

4

1 回答 1

2

看来您想使用MoreLikeThis 处理程序,而不是MoreLikeThis 作为组件

SolrNet 中有一个实现此功能的补丁,目前正在审查中。我鼓励您查看补丁并向我们提供反馈!

于 2011-10-23T14:09:39.397 回答