一尘不染

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

tomcat

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

我已使用Solr zip中example / solr目录中的文件在Tomcat 7(7.0.22)上安装了Solr
3.4,但没有进行任何更改。应该在solrconfig.xml中直接配置ExtractingRequestHandler并准备使用,对吗?

你们中的某些人可以举一个C#(HttpWebRequest)示例来说明如何发出HTTP POST请求并上传PDF文件,就像在Solr
Wiki中使用curl一样吗?

我到处都是这个网站,还有许多其他网站都在寻找一个示例或教程,但没有发现任何东西。

编辑:

我终于设法使用SolrNet使其正常工作!

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

  • dist文件夹中的apache-solr-cell-3.4.0.jar文件
  • contrib \ extraction \ 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();

抱歉,添麻烦了。但是,我希望其他人会觉得有用。


阅读 346

收藏
2020-06-16

共1个答案

一尘不染

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

这里是code.google.com上已弃用的仓库

2020-06-16