代码之家  ›  专栏  ›  技术社区  ›  Mikos

SolrNet-得分始终为0

  •  1
  • Mikos  · 技术社区  · 14 年前

    我使用SolrNet对Solr实例进行了一个简单的查询,但是由于某些原因,分数总是0。

    • 有一个字段[SolrField(“Score”)] 我的映射类中的公共双精度{get;set;}

    • 已检查正在搜索的字段是否为字符串而不是文本。

    还有什么问题吗?请帮忙

    更新:

      var results = solr.Query(q,
                                       new QueryOptions
                                        {
                                            OrderBy = new[] { new SolrNet.SortOrder("DateSubmitted", Order.ASC) },
                                            Fields = new[] { "score" }
    
                                        }
                                      );
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   Pascal Dimassimo    14 年前

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

        2
  •  8
  •   Mauricio Scheffer    14 年前

    正如Pascal所指出的,默认情况下不会返回分数,因此必须执行以下操作 fl=*,score to get everything and the score . 在SolrNet中,这意味着 Fields = new[] {"*","score"} .

    此外,映射区分大小写,因此 [SolrField("score")] [SolrField("Score")]

        3
  •  0
  •   Bhargav Rao Ankit    4 年前

    在我的例子中,我必须使用IndexField属性而不是SolrField

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