基本上我试图指数Word或PDF文件在Solr中,发现ExtractingRequestHandler,但无法弄清楚如何编写C#代码执行像HTTP POST请求Solr wiki:http://wiki.apache.org/solr/ExtractingRequestHandler。索引PDF文件
我一直使用从Solr的拉链的例子/ Solr的目录中的文件在Tomcat 7(7.0.22)安装Solr的3.4和我没有改变任何东西。 ExtractingRequestHandler应该在solrconfig.xml中配置,并可以使用,对不对?
你们能否给出一个C#(HttpWebRequest)的例子,说明如何在Solr wiki中使用curl完成HTTP POST请求并上传PDF文件?
我已经看遍这个网站和其他许多人试图找到一个例子或如何做到这一点的教程,但没有发现任何东西。
编辑:
我终于设法得到它使用SolrNet工作!
为了它的工作,你需要这在Solr的安装目录从Solr的拉链复制到一个lib文件夹:
- Apache的Solr的细胞-3.4.0.jar文件从DIST文件夹
- 内容的contrib \提取\ lib目录
随着SolrNet 0.4.0 beta 2版本中,这个代码的工作:
Startup.Init<IndexDocument>("YOUR-SOLR-SERVICE-PATH");
var solr = ServiceLocator.Current.GetInstance<ISolrOperations<IndexDocument>>();
using (FileStream fileStream = File.OpenRead("FILE-PATH-FOR-THE-FILE-TO-BE-INDEXED"))
{
var response =
solr.Extract(
new ExtractParameters(fileStream, "doc1")
{
ExtractFormat = ExtractFormat.Text,
ExtractOnly = false
});
}
solr.Commit();
对不起。不过,我希望别人会觉得这很有用。
非常有用的信息 - >它适用于我。 – FrenkyB
你可以发布你的IndexDocument类吗?谢谢! – CmdrTallen
为了使用ExtractParameters你需要SolrNet> 0.3.1(“安装 - 包SolrNet - 售前”) – CmdrTallen