从C#客户端索引Solr中的pdf文档

jon*_*asm 8 c# pdf tomcat solr solrnet

基本上我正在尝试索引Solr中的word或pdf文档并找到ExtractingRequestHandler,但是无法弄清楚如何在执行HTTP POST请求的c#中编写代码,就像在Solr wiki中一样:http://wiki.apache. org/solr/ExtractingRequestHandler.

我已经使用Solr zip中example/solr目录中的文件在Tomcat 7(7.0.22)上安装了Solr 3.4,我没有改变任何东西.ExtractingRequestHandler应该在solrconfig.xml中开箱即用,可以使用了,对吗?

你们有些人可以提供一个C#(HttpWebRequest)示例,说明如何制作HTTP POST请求并上传PDF文件,就像在Solr wiki中使用curl一样吗?

我看遍了这个网站和许多其他人试图找到一个例子或教程如何完成,但没有找到任何东西.

编辑:

我终于设法使用SolrNet让它工作了!

为了使它能够工作,您需要将它从Solr zip复制到Solr安装目录中的lib文件夹:

  • dist文件夹中的apache-solr-cell-3.4.0.jar文件
  • contrib\extract\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();
Run Code Online (Sandbox Code Playgroud)

抱歉,添麻烦了.但我希望其他人会觉得这很有用.

Pai*_*ook 3

我建议使用SolrNet客户端。它支持 ExtractingRequestHandler。