0

この記事はドキュメントのインデックス作成に役立ちましたが、検索結果の表示に使用するためにデータベース内のドキュメントのIDなどを渡すことができるように、追加のフィールドを添付するにはどうすればよいですか?(ExtractParametersクラスの)Fieldsプロパティを使用することで、ドキュメントで追加のデータにインデックスを付けることができると思いましたが、それが機能していないか、その機能ではないようです。

コード例:

var solr = ObjectLocator.Instance.Resolve<ISolrOperations<IndexDocument>>();
            var guid = Guid.NewGuid().ToString();
            using (var fileStream = System.IO.File.OpenRead(Server.MapPath("~/files/") + "greenroof.pdf"))
            {

                var response =
                    solr.Extract(
                        new ExtractParameters(fileStream, "greenRoof1234")
                        {
                            ExtractFormat = ExtractFormat.Text,
                            ExtractOnly = false,
                            Fields = new[] { new ExtractField("field1", "value1"), new ExtractField("field2", "value2") }




                        });
            }
4

3 に答える 3

2

@aitchnyuは正しいです。メソッドを介して値を渡すことliteral.field=valueが、これを行う正しい方法です。

ただし、SolrNet GoogleグループでのExtractingRequestHandlerのサポートに関するこの投稿によると、ExtractParameters.Fieldsが正しく機能しないというバグがありました。これは、SolrNetの0.4.0.Xバージョンで修正されました。SolrNetの最新バージョンのいずれかを使用していることを確認してください。次のいずれかの方法で取得できます。

また、その説明には、SolrNetでExtractingRequestHandlerを使用するいくつかの良い例と、新しいバージョンのSolrNetにアップグレードできない場合に追加のフィールド値を追加するための回避策があります。

于 2012-07-20T12:42:23.333 に答える
1

これで十分です:http ://wiki.apache.org/solr/ExtractingRequestHandler#Literals 。

literal.field=value通常、アップロード中にしばらく使用します。

于 2012-07-20T05:46:07.880 に答える
0

それはSOLRNetの問題ではないことが判明しましたが、一般的にはSOLRに関する私の知識です。スキーマのフィールドを指定する必要がありました。スキーマにフィールドを追加した後、それらはSOLRクエリに表示されました。

于 2012-07-22T13:21:10.907 に答える