2010-05-14 6 views
0

상황 : Lucene을 사용하여 문서를 검색하는 ASP .NET 응용 프로그램이 있습니다. 초기 색인 생성을 실행하고 싶습니다. (색인은 초기 실행 후에 점진적으로 증가하므로 앞으로는 전체 디렉토리를 다시 색인화 할 필요가 없습니다.) 현재 약 5GB의 문서 (45000 파일)가 있습니다.긴 프로세스 실행 : Lucene이 포함 된 5GB 문서 인덱싱

문제점 : 프로세스를 완료하기 전에 내 응용 프로그램이 시간 초과되었습니다. 나는 다음과 같이 TimeOut을 변경했다 :

HttpContext.Current.Server.ScriptTimeout = 200000;

하지만 여전히 프로세스가 완료되지 않습니다.

어떻게 색인을 실행할 수 있습니까?

+0

어떤 종류의 시간 초과 오류가 발생합니까? – quillbreaker

+0

일반적으로 시간 초과를 방지하려고 할 때 대개 시간 초과 할 수있는 방법이 많이 있으므로이를 방지해야합니다. 하지만 벤에게는 유효한 포인트가 있습니다. 웹 페이지에서 할 필요가 없다면하지 마십시오. – quillbreaker

답변

3

ASP.NET에서 실행하면 안됩니다. 업무를 처리하는 서비스를 만들고 MSMQ, 데이터베이스의 "work_queue"테이블 또는 시나리오에서 의미가있는 모든 것을 통해 서비스를 시작하십시오.

웹 요청은 일괄 처리가 아닌 작업을 신속하게 수행하고 즉시 반환하기위한 것입니다.

+2

+1은 벤의 제안입니다. 또한 Solr을 살펴보면 몇 가지 문제를 해결할 수 있습니다. SolrNet을 사용하여 ASP.NET에서 Solr을 쿼리 할 수 ​​있습니다. – Mikos

+0

@Mikos - 프로젝트 중 하나에서 사이트가 다른 곳에서 호스팅 되었기 때문에 Solr을 사용할 수 없었습니다. 그러나, 나는 최근 프로젝트에서 Nutch, Solr 및 SolrNet을 사용했으며 치료법을 사용합니다. 설명서가 최선은 아니지만 결과는 정확히 내가 찾고있는 내용입니다. – robasta

관련 문제