2008-11-16 8 views
5

Lucene.NET (버전 2.0)을 사용하여 웹 사이트 전체 텍스트 검색을 구현했습니다. 색인 생성 및 검색은 잘 작동하지만 한 가지 문제가 있습니다. (전화 번호, 제품 번호 등) 번호를 검색어로 사용하면 결과 문서가 표시되지 않습니다.Lucene.NET으로 색인을 생성하고 번호를 찾는 방법은 무엇입니까?

저는 Lucene.Net.Analysis.SimpleAnalyzer 클래스를 사용하고 있습니다. 나는 Analyzer 및/또는 Tokenizer를 변경해야한다고 생각합니다.

어떤 조언이 필요합니까?

감사합니다.

답변

13

Lucene 문서를 작성할 때 각 필드마다 다른 색인 옵션을 선택해야합니다. 토큰 화하지 않으려는 필드의 경우 Field.Index.UN_TOKENIZED 옵션을 선택해야합니다. 이렇게하면 전화 번호와 제품 번호가 그대로 유지됩니다.

SimpleAnalyzer와 같은 번호를 제거하지 않으므로 StandardAnalyzer를 사용하는 것이 좋습니다.

색인 생성과 검색 모두에 동일한 분석기를 사용하여 일관된 결과를 얻는 것이 중요합니다.

관련 문제