我正在使用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,然后获取类似的文档。过滤器应该通过站点过滤网页。当我应用siteid过滤器时,它不起作用。对此有什么想法吗?
发布于 2011-10-23 14:09:39
您似乎想要使用MoreLikeThis处理程序,而不是MoreLikeThis作为一个组件。
有个补丁在SolrNet中实现了这一点,目前正在进行审查。我鼓励你看看补丁,并给我们反馈它!
https://stackoverflow.com/questions/7864259
复制相似问题