Domanda

Ho una semplice query a un'istanza Solr utilizzando SolrNet, ma per qualche ragione, il punteggio è sempre 0.

Ho verificato:

  • avere un campo [SolrField ( "Score")]     public double Score {get; impostato; } Nella mia classe di mappatura

  • hanno verificato che i campi da ricercare sono stringa al posto del testo.

Che altro potrebbe essere sbagliato? Si prega di aiuto

Aggiornamento:

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

                                    }
                                  );
È stato utile?

Soluzione

Assicurarsi che il punteggio è nella lista dei campi quando si esegue la richiesta (il parametro fl), perché il punteggio non viene restituito per impostazione predefinita.

Altri suggerimenti

Proprio come Pascal ha notato, il punteggio non viene restituita per impostazione predefinita, in modo da avere a che fare fl = *, segnare per ottenere tutto e il punteggio . In SolrNet questo si traduce in Fields = new[] {"*","score"}.

Anche la mappatura è case sensitive quindi ti consigliamo [SolrField("score")] invece di [SolrField("Score")]

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top