2009-06-16 7 views

답변

18

Lucene과 함께 일할 계획이라면 A부터 Z까지 다루는 훌륭한 책을 구입할 것입니다. Lucene은 매우 가파른 학습 곡선을 가지고 있습니다. 검색을 수행하는 방법을 알고있을뿐만 아니라 의 색인 번호이기도합니다. 기본 검색을 수행하는 것은 쉽지만 수백만 개의 레코드로 구성된 인덱스를 작성하고이를 통해 번개 빠른 검색을 수행 할 수는 있지만 매우 어렵습니다. 그걸 배우는 튜토리얼은 없습니다.

Michael McCandless, Erik Hatcher 및 Otis Gospodnetić가 Lucene in Action, Second Edition을 권하고 싶습니다. Lucene.NET이 아닌 Lucene을 위해 작성되었지만 termonology와 api는 기본적으로 동일하기 때문에 문제가되어서는 안됩니다.

그러나 빠른 시도 만하려는 경우 this site을 읽을 수 있습니다. 이름은 모두 다음과 같이 말합니다 :-)

+1

나는 Lucene in Action 책을 검토해야하고 나는 Lucene 모든 것을 배우기 위해가는 것은 좋은 단서임을 동의해야한다! 이론적 인 개념의 대부분은 Lucene.NET에 적용되지만 코드 구현에는 창의적인 사고가 필요합니다! –

+1

방금 ​​나온 Lucene의 2 판이 나왔습니다. 에 대한 생각은 Lucene.NET에 가까울 지 아니면 더 나아가면 초판인가? –

9

우리는 데이터가 거대하고 판독을위한 초고속 응답 시간이 필요할 때 자주 Lucene.NET을 사용합니다. 우리는 일반적으로 나머지 세부 사항이있는 데이터베이스 테이블에 결과를 다시 매핑 할 수 있도록 키와 함께 검색해야하는 데이터를 사용합니다. 그러면 우리는 과거 참여를 확인하는 사용자를 검색 할 수 있습니다. 이것은 사용자 이름 검색이 아니라 다양한 사용자가 다른 인스턴스가 있는지 찾아내는 다양한 세부 정보를 반복하는 검색입니다 (다른 형식 임에도 불구하고). 예를 들어 사용자 ID (한 시스템에서), 다른 시스템의 ID, 공급 업체 시스템의 ID, 플래시 쿠키 GUID, 사이트 쿠키 GUID 등을 찾습니다. 하나의 식별자를 발견하면 다른 사용자 인스턴스에 대해 해당 식별자의 다른 인스턴스를 찾습니다. 이를 통해 사용자 입력을 여러 시스템 중 하나로 끌어들일 수 있습니다 (모든 시스템에 대한 참여가 24 시간에 한 번 허용됨). SQL에서는이 애매 (내가 모호했다)가 영원히 걸릴 것입니다! Lucene.NET에서는 1 초도 걸리지 않습니다. Lucene은 SQL Server보다 훨씬 많은 검색 가능성을 가지고 있습니다. 그것이 짜증 나는 것은 당신의 색인을 쓰거나 업데이트하는 것입니다. 이것은 일반적으로 한 번에 일자리로 이루어집니다. 그러나 실시간으로 색인을 업데이트하는 색인을 작성해야하는 경우 잠긴 방식으로 작성되거나 (독신으로 대기열에 잠겨 있는지 확인) 코드가 겹쳐져 폭발 할 수 있도록 영리한 코드를 작성해야합니다.

내 책 (ASP.NET Social Networking)에서 Lucene.NET의 사용법을 다룹니다. 많은 도움을 드릴 수 있습니다. here.

1

Lucene.NET의 문제점은 표준 (자바)와 같은 활발한 커뮤니티가없는 것입니다 루씬 - 그래서 항상 효과적으로 실행 같다 Lucene의 구 버전. .NET을 선호하기는하지만 이러한 이유로 Lucene의 Java 버전을 사용하기로 결정했습니다. Solr을 사용하면 통합하기가 매우 쉽습니다.

1

'Lucene in Action'은 색인 생성 방법 및 검색 방법을 배우기에 가장 좋은 책입니다. 고급 검색 기술과 맞춤형 분석기 작성까지 포함합니다. 이 책은 Java 용이지만 ...이 책을 사용하여 .net에서 검색 및 색인을 구현했습니다.

1

Simon Green은 그의 NHibernate 구현을 위해 Lucene.Net을 설정하는 방법에 대해 멋진 3 부작 시리즈를 가지고 있습니다. Part one introduces the series. Part twopart three은 기술적 인 세부 사항을 논의합니다.

내 프로젝트가 NHibernate를 사용하지 않지만 Lucene.Net 코드 샘플이 매우 유용하다는 것을 알게되었습니다.