Lucene.Net을 사용하여 검색 기능을 구현했습니다. 이 지수에는 "A Level"을 포함한 영국의 학업 자격이 포함됩니다.Lucene.Net - 공간 구분 문구를 단일 토큰으로 처리하는 방법?
사용자가 "A 레벨"이라는 문구를 사용하여 검색 할 수있게하고 싶지만 표준 분석기를 사용하면 "A"가 중지 단어로 표시되지 않으므로 "레벨"만 색인/검색됩니다. .
이 문제를 해결하기위한 최선의 방법은 무엇입니까? 나는 어떻게 든 사용자 정의 분석기를 작성하여 "A 레벨"또는 "A 레벨"로 토큰 화해야한다고 생각합니다.
이 방법이 최선의 방법입니까?
편집 :
주 내가 원하는 전체 검색 문구 쿼리되고 싶지 않아. 즉 검색 창에서 사용자가 < "A Level"AND English Maths Physics>를 입력 할 수있게하려면 "A Level"과 영어 수학 또는 물리학 중 하나를 반환해야합니다. 이를 반영하여 질문이 업데이트되었습니다.
내가 특별히 'A 등급'
문구 'A 등급'에서 아파트 모든 경우에 정지 단어로 'A'의 사용을 계속하고 싶습니다 그것에서, 그것은 자신의 특정 필드에없는 구문을 포함 할 수있는 자유 텍스트 필드입니다.
하지만 전체 검색 문구 쿼리 싶지 않아합니다. 즉, 사용자가 < "A Level"AND English Maths Physics>를 입력 할 수있게하려면 검색 상자에 "A Level"과 영어 수학 또는 물리학 중 하나를 반환해야합니다. 이를 반영하여 질문이 업데이트되었습니다. –
@Gareth D - 편집 내역 – Dewfy
@Dewfy - 문제는 아직 해결되지 않습니까? 즉 'A 레벨'의 'A'는 표준 분석기에 의해 중지 단어로 제거되어 구문 쿼리가 'A 레벨'이 아닌 '레벨'의 모든 인스턴스를 반환하게됩니다. –