SolrNet - 总得分为0

时间:2010-09-14 13:57:15

标签: solr solrnet

我使用SolrNet对Solr实例进行简单查询,但由于某种原因,得分始终为0.

我已经确认:

  • 有一个字段[SolrField(“Score”)]     公共双重得分{得;组;在我的映射类

  • 检查过搜索的字段是字符串而不是文字。

还有什么可能是错的?请帮忙

更新

  var results = solr.Query(q,
                                   new QueryOptions
                                    {
                                        OrderBy = new[] { new SolrNet.SortOrder("DateSubmitted", Order.ASC) },
                                        Fields = new[] { "score" }

                                    }
                                  );

3 个答案:

答案 0 :(得分:8)

就像Pascal所说,默认情况下不会返回分数,因此您必须执行fl=*,score to get everything and the score。在SolrNet中,这转换为Fields = new[] {"*","score"}

此外,映射区分大小写,因此您需要[SolrField("score")]而不是[SolrField("Score")]

答案 1 :(得分:1)

确保在您执行请求时,分数位于字段列表中(fl参数),因为默认情况下不会返回分数。

答案 2 :(得分:0)

就我而言,我必须使用IndexField属性而不是SolrField

[IndexField("score")]
public decimal Score {get; set;}