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

问题描述 投票:8回答:1

基本上,我想在Solr中索引word或pdf文档,并找到了ExtractingRequestHandler,但不知道如何用c#编写代码,像在Solr wiki中那样执行HTTP POST请求。http:/wiki.apache.orgsolrExtractingRequestHandler。.

我已经在Tomcat 7 (7.0.22)上安装了Solr 3.4,使用了Solr zip中examplesolr目录下的文件,我没有修改任何东西。ExtractingRequestHandler应该是在solrconfig.xml中配置好的,并且可以使用,对吗?

你们谁能给出一个C#(HttpWebRequest)的例子,说明如何像在Solr wiki中使用curl那样,发出HTTP POST请求并上传一个PDF文件?

我已经找遍了这个网站和许多其他网站,试图找到一个例子或教程,但没有找到任何东西。

EDIT.我终于成功地让它工作了。

我终于成功地用SolrNet实现了!

为了让它工作,你需要从Solr压缩包里把这个复制到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();

抱歉给你添麻烦了 但我希望其他人会发现这很有用。

c# pdf tomcat solr solrnet
1个回答
3
投票

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

这里的 废弃的回购 在code.google.com上

© www.soinside.com 2019 - 2024. All rights reserved.