SolrNet 3.6 を使用して ASP.NET MVC3 C# に取り組んでいます。動的フィールドを使用しました。Solr インデックスは適切なデータを使用して正常に作成されており、Solr Admin と動的フィールドなしのアプリケーションで完全に機能しています。
QueryOption などを使用して、Id、Name などのすべての静的フィールドを取得しました。
しかし、動的フィールドを取得する方法がわかりませんか?
それでは、それを取得する方法を教えてください。
SolrNet を使用して動的フィールドにアクセスするのは非常に簡単です。一連の動的文字列フィールドをマッピングする例を次に示します。
次のフィールドは、schema.xml で定義されています。
<field name="dynamicFields_*" fieldType="string" stored="true" indexed="true" />
次に、次のフィールドを持つドキュメントにインデックスを付けたとします。
dynamicFields_item1
dynamicFields_item2
次に、次のプロパティを C# クラスに追加します。
public class IndexItem
{
...
[SolrField("dynamicFields_")]
Dictionary<string, string> DynamicFields { get; set;}
....
}
次に、Solr にクエリを実行して IndexItem クラスを取得したら、次のように動的データ フィールドにアクセスできます。
//already have gotten the indexItem before here
var item1Value = indexItem.DynamicFields["item1"];
var item2Value = indexItem.DynamicFields["item2"];
うまくいけば、これが動的フィールドをコードで機能させるのに役立ちます...
Luke Handlerを使用して、静的および動的なすべてのインデックス付きフィールド (およびそれ以上) を取得できます。たとえば。
http://localhost:8983/solr/admin/luke
.