2009-05-08 4 views
3

Lucene의 StandardAnalyzer는 색인 생성시 문자열/약어에서 점을 제거합니다. Lucene에 도트를 유지하고 WhitespaceAnalyzer 클래스를 사용하고 싶습니다.WhitespaceAnalyzer에서 정지 단어 사용

스탠다드 분석가에게 제 목록을 줄 수는 있습니다 ... 어떻게 WhitespaceAnalyzer에 줄 수 있습니까?

읽어 주셔서 감사합니다.

답변

6

WhiteSpaceAnalyzer를 확장하여 분석기를 만들고 tokenStream 메서드를 다음과 같이 재정의하십시오.

public TokenStream tokenStream(String fieldName, Reader reader) { 
    TokenStream result = super.tokenStream(fieldName, reader); 
    result = new StopFilter(result, stopSet); 
    return result; 
} 

여기에는 stopset는 중지 단어의 목록을 허용하여 분석기에 생성자를 추가하여 얻을 수있는 중지 단어의 집합입니다.

TokenStream을 다시 사용하려는 경우 reusableTokenStream() 메서드를 비슷한 방식으로 재정의 할 수도 있습니다.

+0

당신은 내 대답에 전리품을 가지고 의견을주십시오 수 : http://stackoverflow.com/questions/899542/problem-using-same-instance-of-indexsearcher-for-multiple-requests/1014501#1014501 –

+0

을 @Shashikant Kore - 질문에 대한 모든 입력 - http://stackoverflow.com/questions/14554850/solrj-query-get-themost-relevant-record- first – JHS