2009-10-30 4 views
0

Lucene.Net을 사용하여 검색 웹 사이트 (PDF 검색 용)를 구현하고 있습니다. 키워드를 입력하면 결과가 표시되고 결과 항목 중 하나를 클릭하면 사용자가 '세부 정보'페이지로 이동하여 키워드가있는 모든 위치에서 해당 PDF 문서의 미리보기를 표시하려고합니다.Lucene.NET : 문서 텍스트에서 키워드 스 니펫을 처리하는 가장 좋은 방법

제 질문은이 문서에서이 스 니펫을 수집하는 가장 좋은 방법은 무엇입니까?

  1. 방금 ​​선택한 항목 ID를 가져 와서 해당 문서에서 다시 쿼리하고 Lucene의 형광펜이 내게 조각 모음을 제공하게합니까?

  2. 또는 각 결과 레코드에 대한 텍스트 콘텐츠가 이미 있으므로 C# 문자열 조작을 사용하여 조각을 수동으로 처리하는 것이 더 좋을까요?

1 일 경우 Lucene의 단일 문서를 검색하는 쿼리를 작성하는 방법을 보여줄 수 있습니까?

감사합니다.

답변

0

문서를 색인화하는 데 사용 된 분석기를 사용하여 쿼리 및 문서를 토큰 화해야하므로 Lucene Highlight 패키지를 사용해야합니다. 문자열 메서드를 통해 C#을 직접 사용할 수는 있지만 쿼리 용어 인 문서 텍스트 (예 : 형태소 분석, 단어 중지 등)와 일치시키기 위해 동일한 토큰 화 논리를 사용해야합니다. 문서의 전체 텍스트를 색인에 저장하는 경우 형광펜을 사용하는 것이 간단합니다. 색인에 텍스트를 저장하지 않으면 다른 곳에서 문서 텍스트를 가져올 수도 있습니다. 초기 검색에서 사용한 것과 동일한 쿼리를 전달해야하며, 예를 들어 해당 문서의 고유 ID에 대한 쿼리에 필수 절을 추가하여 강조 표시 할 문서의 정확한 일치 항목을 포함시켜야합니다. 단일 문서에 사용 된 쿼리에는 2 개의 필수 절이 있어야하며 첫 번째 절은 처음에 문서를 찾는 데 사용되는 원래 쿼리이고 다른 절은 단일 문서에 대한 고유 한 식별자입니다. 그렇게하면 형광펜은 강조 표시된 스 니펫을 생성하는 데 동일한 쿼리를 사용할 수 있습니다.

+0

Perfect. 귀하의 답변에 감사드립니다. – Prabhu

관련 문제