0

我发现这篇文章在索引文档时很有用,但是,我怎样才能附加其他字段,以便我可以传入我们数据库中文档的 ID 以用于显示搜索结果?我认为通过使用 Fields (Of the ExtractParameters 类) 属性,我可以用文档索引其他数据,但这似乎不起作用,或者这不是它的功能。

示例代码:

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 Group中有关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 回答