2008-10-09 3 views
17

Lucene.Net을 사용하여 일부 문서의 색인을 생성합니다. 나는 왜 그 문서가 결과 집합에 있는지에 관해서 두 줄의 사용자에게 보여주고 싶다. Google 검색을 사용하여 링크를 표시하고 강조 표시된 키워드가있는 몇 줄의 링크가있는 것과 같습니다. 아이디어가 있습니까?Lucene.Net 검색 결과를 강조 표시하기위한 검색 결과

답변

23

당신이 결과가있을 때 당신은 인덱스 텍스트가이 방법과 유사한 방법을 통해 쿼리를 함께 전달할 얻을 수 있습니다 : 당신은 보석의 짝이다

public string GeneratePreviewText(Query q, string text) 
{ 
    QueryScorer scorer = new QueryScorer(q); 
    Formatter formatter = new SimpleHTMLFormatter(highlightStartTag, highlightEndTag); 
    Highlighter highlighter = new Highlighter(formatter, scorer); 
    highlighter.SetTextFragmenter(new SimpleFragmenter(fragmentLength)); 
    TokenStream stream = new StandardAnalyzer().TokenStream(new StringReader(text)); 
    return highlighter.GetBestFragments(stream, text, fragmentCount, fragmentSeparator); 
} 
+0

. 감사. –

+0

나를 분류했지만 임의의 문자열 값을 TokenStream의 첫 번째 매개 변수로 전달해야했습니다. – ctrlplusb

+1

Lucene.Net.Contrib nuget 패키지를 추가하여 이러한 개체를 찾아야했습니다. –