2010-08-15 2 views
2

저는 .NET 개발자이며 최종 사용자가 액세스 할 수없는 항목을 제거하는 매우 큰 규모의 검색 서비스를 실행할 수 있도록 Lucene을 배워야합니다. (즉, 사용자는 클리어런스 레벨 3 이상, 클리어런스 레벨 2 또는 1이 아닌 모든 문서를 검색 할 수 있습니다.)어디에서 Lucene.NET Solr Hadoop 및 MapReduce를 배우기 시작합니까?

어디서 학습해야합니까? 솔직히 말해서, 나는 약간 압도 당했지만, 나는 그것을 전부 알아낼 결심했다 ... 결국.

+0

+1. 나는 MapReduce에 정말로 관심이있다. – dierre

답변

1

Lucene의 모든 기본 사항을 다루는 책을 원한다면 "Lucene in Action"을 고려하십시오. 코드 샘플은 Java이지만 .NET에 쉽게 포팅 할 수 있습니다. 물론 SO와 Lucene 메일 링리스트와 같이 웹에 많은 자원이 있습니다.

당신이 설명하는 프로젝트에서 Solr는 확장 성 등의 많은 문제를 추상화하고 Solrnet을 통해 .NET 응용 프로그램에 쉽게 통합 될 수 있으므로 Solr을 살펴보아야합니다. 수준별로 액세스를 제한하려면 인덱스 문서에 "Level"(말)이라는 필드가 있어야하며 사용자 쿼리의 배경에는 부울 쿼리 구문을 사용하여 "Level : Level-1"쿼리를 추가해야합니다.

이 단계에서 내 권장 사항은 프로젝트의 Hadoop (Apache Map-reduce 구현)에서 멀리 떨어져 Solr을 고수하는 것입니다. 그러나 당신이 그것에 대해 배우고 싶어하는 경우. 그것도 매우 유용한 책을 가지고 있습니다. "Hadoop In Action"(또한 Manning Publications의 책).

+0

감사! Hadoop과 Solr의 차이점을 이해하도록 도와 줄 수 있습니까? 서로 다른 요구 사항을 충족합니까? – LamonteCristo

+0

그들은 사과와 오렌지입니다. 대부분의 엔터프라이즈 최종 애플리케이션에서 Solr은 충분하고 확장되어야합니다. Hadoop은 Yahoo와 같은 조직에서 검색 색인을 위해 사용하는 분산 컴퓨팅 플랫폼입니다. Hadoop은 또한 고성능 기계 학습 작업에 사용되며 Apache Mahout은 이러한 프로젝트 중 하나입니다. 결론 : 당신이 초보자라고 말했기 때문에 Solr에게 충실하는 것이 좋습니다. 내가 뭔가를 놓치지 않는다면, 나는 당신의 요구 사항 이상으로 충분하다고 생각합니다. – Mikos

+0

실시간으로 색인을 생성해야하는 대량의 데이터가 있으므로 데이터를 처리하고 색인화하려면 Hadoop이 필요하고 사용자가 데이터를 읽을 수 있도록 Solr이 필요합니까? (REST 경유?) – LamonteCristo

1

각 프로젝트 (Lucene/Solr/Hadoop/etc)가 정확히 무엇을하고 있는지 혼란스러워합니다. 따라서 가장 먼저 할 일은 각 프로젝트의 목적을 이해하는 것입니다. 그들에 관한 문서와 블로그를 읽으십시오. 가능하면 그들에 관한 책을 사서 읽으십시오.

예를 들어, MapReduce 및 Hadoop은 보안 요구 사항과 아무 관련이 없습니다. Hadoop은 분산되고 확장 가능한 컴퓨팅을위한 플랫폼입니다. 그러나 Solr is scalable on its own. Hadoop을 distribute a crawler though (e.g. Nutch)에 사용할 수 있습니다.