2012-07-20 70 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