1

SolrNet を使用して Solr インスタンスに簡単なクエリを実行しましたが、何らかの理由でスコアが常に 0 になっています。

私は確認しました:

  • フィールドを持つ [SolrField("Score")] public double Score { get; 設定; 私のマッピングクラスで

  • 検索されるフィールドがテキストではなく文字列であることを確認しました。

他に何が間違っている可能性がありますか?助けてください

アップデート:

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

                                    }
                                  );
4

3 に答える 3

8

Pascal が指摘したように、スコアはデフォルトでは返されないため、fl=*,score を実行してすべてとスコアを取得する必要があります。SolrNet では、これは に変換されFields = new[] {"*","score"}ます。

また、マッピングでは大文字と小文字が区別されるため、[SolrField("score")]代わりに[SolrField("Score")]

于 2010-09-14T19:13:31.847 に答える
1

デフォルトではスコアが返されないため、リクエスト ( fl パラメーター) を実行するときは、スコアがフィールドのリストにあることを確認してください。

于 2010-09-14T14:02:06.987 に答える