2

SolrNet 3.6 を使用して ASP.NET MVC3 C# に取り組んでいます。動的フィールドを使用しました。Solr インデックスは適切なデータを使用して正常に作成されており、Solr Admin と動的フィールドなしのアプリケーションで完全に機能しています。
QueryOption などを使用して、Id、Name などのすべての静的フィールドを取得しました。

しかし、動的フィールドを取得する方法がわかりませんか?

それでは、それを取得する方法を教えてください。

4

2 に答える 2

6

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"];

うまくいけば、これが動的フィールドをコードで機能させるのに役立ちます...

于 2012-07-22T02:19:45.283 に答える
2

Luke Handlerを使用して、静的および動的なすべてのインデックス付きフィールド (およびそれ以上) を取得できます。たとえば。 http://localhost:8983/solr/admin/luke.

于 2012-07-22T02:19:25.097 に答える