Question
J'ai une simple requête à une instance Solr en utilisant SolrNet, mais pour une raison quelconque, le score est toujours 0.
J'ai vérifié:
-
un champ [SolrField ( "Score")] double Score du public {get; ensemble; } Dans ma classe de mapping
-
ont vérifié que les champs sont recherchés chaîne au lieu du texte.
Que pourrait-on mal? S'il vous plaît aider
Mise à jour:
var results = solr.Query(q,
new QueryOptions
{
OrderBy = new[] { new SolrNet.SortOrder("DateSubmitted", Order.ASC) },
Fields = new[] { "score" }
}
);
La solution
Assurez-vous que le score est dans la liste des champs lorsque vous faites la demande (le paramètre fl) parce que le score est pas retourné par défaut.
Autres conseils
Tout comme Pascal a noté, le score est pas retourné par défaut, donc vous devez faire fl = *, le score pour obtenir tout et le score . En SolrNet cela se traduit par Fields = new[] {"*","score"}
.
En outre la cartographie est sensible à la casse de sorte que vous aurez envie [SolrField("score")]
au lieu de [SolrField("Score")]