문제

Word, Excel- 등의 내용을 색인화하려면 Lucene.net 3.0.3을 사용하고 있습니다. 문서 및 각 문서의 일부 사용자 정의 필드.
필드를 색인하면 "제목" ~처럼 field.index.not_analyzed Lucene-Index는 필드를 올바른 형태로 저장했습니다. 구멍 제목은 단일 토큰에 저장됩니다. 그게 내가 원하는 것입니다.

예를 들어 문서 제목은 "Lorem Ipsum Dolor"입니다.
Lucene-Index의 필드 : "Lorem Ipsum Dolor"

이 필드에서 정확한 검색을 사용하여 검색하면 결과가 없습니다.
내 검색기는 다음과 같습니다. 제목 : "Lorem Ipsum Dolor"
검색의 경우 동일한 StandardAnalzer를 사용합니다.

왜 문서를 찾을 수 없습니까?

도움이 되었습니까?

해결책

StandardAnalyzer 다른 구분자들 중에서도 공백에 민감합니다. 즉, 검색 용어를 3 개의 토큰으로 토큰합니다.

( Lorem, ipsum, dolor )

그러나 당신은 필드를 색인했습니다 title 사용 Field.Index.NOT_ANALYZED 따라서 위의 3 개의 토큰 중 어느 것도이 필드의 단일 토큰과 일치 할 수 없습니다.

( Lorem ipsum dolor )

사용 KeywordAnalyzer, 전체 필드 값을 단일 토큰으로 토큰 화합니다. 항상 그렇듯이 인덱싱 및 검색 모두에 동일한 분석기를 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top