2012-01-19 4 views
8

기본적으로 Solr에서 단어 또는 pdf 문서의 색인을 생성하려고하는데 ExtractingRequestHandler를 찾았지만 C#에서 HTTP POST 요청을 수행하는 코드를 작성하는 방법을 알지 못합니다. 솔라 위키 : http://wiki.apache.org/solr/ExtractingRequestHandler.C# 클라이언트에서 Solr의 PDF 문서 색인

Solr zip의 예제/solr 디렉토리에있는 파일을 사용하여 Tomcat 7 (7.0.22)에 Solr 3.4를 설치했지만 아무 것도 변경하지 않았습니다. ExtractingRequestHandler는 solrconfig.xml의 상자 밖으로 구성되어야하며 바로 사용할 준비가되어 있어야합니다.

여러분 중 일부가 HTTP POST 요청을 작성하고 PDF 파일을 업로드하는 방법에 대한 C# (HttpWebRequest) 예제를 제공 할 수 있습니까? 예를 들어 Solr 위키에서 curl을 사용하여 완료 한 것입니까?

나는이 사이트와 다른 많은 사람들이이 작업을 수행하는 방법에 대한 예제 또는 자습서를 찾아 보았지만 아무 것도 발견하지 못했습니다.

는 편집 :

나는 마침내 SolrNet를 사용하여 작업 할 수있었습니다!

  • 아파치-SOLR 셀-3.4.0.jar 파일에서 : 당신이 SOLR 우편에서 SOLR 설치 디렉토리에 lib 디렉토리 폴더에이 복사해야 작동하기 위해서는

    의 DIST 폴더

  • 내용의 contrib \ 추출 \ SolrNet 0.4.0 베타 2와

는,이 코드는 작업 수행 lib 디렉토리 :

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(); 

문제가 생겨서 죄송합니다. 그러나 다른 사람들도 유용하다고 생각합니다.

+0

매우 유용한 정보 -> 나를 위해 작동합니다. – FrenkyB

+0

IndexDocument 클래스를 게시 할 수 있습니까? 감사! – CmdrTallen

+0

ExtractParameters를 사용하려면 SolrNet> 0.3.1 ("Install-Package SolrNet -Pre")이 필요합니다. – CmdrTallen

답변

3

SolrNet 클라이언트를 사용하는 것이 좋습니다. 그것은 ExtractingRequestHandler를 지원합니다.

+0

SolrNet을 이미 사용하고 있지만 ExtractingRequestHandler가 지원되었는지는 몰랐습니다. 거기에 어떤 종류의 문서가 있습니까? – jonasm

+0

필자는 SolrNet 설명서를 다 읽고 있었으며 최신 베타 릴리스에서만 지원되는 것으로 보입니다. 가능하다면 HttpWebRequest를 사용하는 예제를 여전히 좋아할 것입니다. – jonasm

+0

이 버전을 지원하는 SolrNet 버전은 베타 버전이지만 완전히 안정적이며 사용 가능합니다. 필자는 SolrNet을 2 년 이상 사용해 왔으며 프로덕션 환경에서 아무 문제없이 베타 릴리스를 실행했습니다. 예를 들어 SolrNet 소스 (https://github.com/mausch/solrnet)를 살펴보면 Solr을 호출하기 위해 HttpWebRequest를 수행하고 있음을 알게되므로, 수행중인 작업을 수행 할 수 있어야합니다. –