Question

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" }

                                    }
                                  );
Was it helpful?

Solution

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.

OTHER TIPS

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")]

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top