Pergunta

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

                                    }
                                  );
Foi útil?

Solução

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.

Outras dicas

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top