2010-06-25 1 views
1

사용자가 입력 할 때 독일어 악센트 부호가있는 Umlaut 문자 "ö", "ä"및 "ü"는 종종 사용자가 입력 할 때 비 액센트 버전으로 대체됩니다. 건반.액센트가없는 다른 버전의 Umlaut 문자 처리

대부분의 악센트 부호가있는 문자에는 대부분의 사람들이 사용하는 특수한 강조되지 않은 버전이 있습니다. 예를 들어 강조된 "è"는 항상 표준 "e"로 바뀝니다.

Umlaut 문자는 영국인과 미국인이 채택한 규칙이 다른 것 같습니다.

영국 사용자가 "O"으로 대체 될 것 "A"와 "U"각각 어디
미국의 사용자가 각각 "OE", "AE"와 "UE"으로 대체됩니다 ...로.

우리의 검색이 그들을 대체, 액센트 문자의 모든 조합을 일치시키는 데 사용 된 기술은 모든 검색 프레임 워크 Lucene.Net을 기반으로하고, 같은 모두 인덱스 생성 및 검색 기준이 공급 될 때, 그러므로 허용하는 경우 순전히 비 악센트 부호가있는 문자로 수행되도록 매칭합니다.

어떻게 ... 다음 지원하기 위해

독일 고객 유형을 악센트 문자를 구문 분석 - "괴츠"
영국 고객 유형 - "고츠"
미국 고객 유형 "게츠을 "

데이터베이스의 이름이"Götz "라는 올바른 형식으로 주어지면"Götz "를 구문 분석하여 세 명의 사용자가 모두 색인에서 찾을 수있게 할 수 있습니까?

내가 찾던 정확히였습니다 CodeProject에이 기사를 발견

편집 할 수 있습니다. 이 예에서는 단어의 동의어를 Lucene 색인에 추가하여 원래 단어와 일치시킬 수있는 방법을 보여줍니다. 작은 적응을 통해 나는 내가 원하는 것을 정확하게 할 수있었습니다.

답변

0

이 기사는 CodeProject에서 찾았습니다. 이 예에서는 단어의 동의어를 Lucene 색인에 추가하여 원래 단어와 일치시킬 수있는 방법을 보여줍니다. 작은 적응을 통해 나는 내가 원하는 것을 정확하게 할 수있었습니다.

+0

내 질문에 편집이 추가되었습니다.이 질문에 대한 대답이 허용되었습니다. –

2

"Gotz"를 색인 시간에 "Gotz"와 "Goetz"로 변환하십시오. 두 번째 단어에 setPositionIncrement(0)을 사용하면 구문 검색을 올바르게 수행 할 수 있습니다.

+0

제안에 대해 감사드립니다. 그것은 올바른 길에 나를 놓았고, CodeProject에 대한 정확한 기사를 찾을 수있었습니다. 정확히 필요한 부분이었습니다. 위를 참조 –