从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();
很抱歉给你添麻烦。然而,我希望其他人会觉得这很有用。
我建议使用SolrNet客户端。它支持ExtractionRequestHandler。