문제

I have a simple query to a Solr instance using SolrNet, But for some reason, the score is always 0.

I have verified :

  • have a field [SolrField("Score")] public double Score { get; set; } in my mapping class

  • have checked that the fields being searched are string instead of text.

What else could be wrong? Please help

Update:

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

                                    }
                                  );
도움이 되었습니까?

해결책

Make sure that score is in the list of fields when you do the request (the fl parameter) because the score is not returned by default.

다른 팁

Just like Pascal noted, the score is not returned by default, so you have to do fl=*,score to get everything and the score. In SolrNet this translates to Fields = new[] {"*","score"}.

Also mapping is case sensitive so you'll want [SolrField("score")] instead of [SolrField("Score")]

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top