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

本文关键字:pdf 文档编制 索引 中的 Solr 客户端 | 更新日期: 2023-09-27 18:20:46

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

我已经在Tomcat7(7.0.22)上使用Solr zip中example/Solr目录中的文件安装了Solr 3.4,并且我没有更改任何内容。ExtractingRequestHandler应该在solrconfig.xml中开箱即用地进行配置,并且可以随时使用,对吗?

你们中的一些人能举一个C#(HttpWebRequest)的例子来说明如何发出HTTPPOST请求并上传PDF文件,就像在Solr wiki中使用curl一样吗?

我浏览了这个网站和许多其他网站,试图找到一个关于如何做到这一点的例子或教程,但没有找到任何东西。

编辑:

我终于用SolrNet让它工作起来了!

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

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

很抱歉给你添麻烦。然而,我希望其他人会觉得这很有用。

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

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