SolrNet を使用していますが、スコア フィールドが、インデックスに追加または更新されるドキュメントと競合するという問題があります。
私のドキュメントを表すクラスは次のようになります
class MyDoc
{
[SolrUniqueKey("doc_id")]
public string DocId { get; set; }
[SolrField("foo")]
public string Foo { get; set; }
[SolrField("bar")]
public string Bar { get; set; }
[SolrField("score")]
public double Score { get; set; }
}
Solr に対して発行されるクエリで、「スコア」フィールドをfl
パラメーターに追加すると、スコア値が返され、このクラスに正しく設定されます。ただし、ドキュメントを追加または更新すると、スコア フィールドがインデックスに存在しないというエラーが表示されます。これは動的フィールドであるため、存在しないはずです。
追加/更新を行うコードは非常に単純です。
Startup.Container.GetInstance<ISolrOperations<MyDoc>>().Add(doc);
ドキュメントを追加または更新するときにSolrNet(またはSolr)によってスコアプロパティを無視し、ドキュメントを取得するときにのみ使用する必要があるようです。
これを達成する方法はありますか?