2012-07-20 40 views
0

我发现this article在索引文档时很有用,但是,如何附加其他字段,以便我可以传入数据库中文档的ID以用于显示搜索结果?我想通过使用字段(的ExtractParameters类)属性我可以索引额外的数据与文档,但这似乎并没有工作,或者这不是它的功能。使用SolrNet为附加搜索字段编制索引PDF文档?

示例代码:

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") } 




         }); 
      } 

回答

0

事实证明,这不是SOLRNet的问题,而是我对SOLR的一般了解。我需要指定模式中的字段。在将这些字段添加到我的模式后,它们在我的SOLR查询中可见。

2

@aitchnyu是正确的,通过literal.field=value方法传递值是正确的方法来做到这一点。

但是,根据ExtractingRequestHandler supportSolrNet Google Group的这篇文章,ExtractParameters.Fields无法正常工作。这在SolrNet的0.4.0.X版本中得到修复。请确保您使用的是最新版本的SolrNet。您可以通过以下方式之一获得:

也是讨论使用SolrNet的ExtractingRequestHandler的添加额外的一些很好的例子,以及作为一种解决方法如果您无法升级到较新版本的SolrNet,请输入字段值。

+0

我正在使用0.4.0.2002,是否有需要使用的不同版本? – DDiVita 2012-07-20 12:47:27