편집 거리가있는 Lucene 색인을 검색하고 싶습니다. 예를 들어 FIRST_NAME 필드가있는 문서가 있습니다. 나는 'john'과 거리가 먼 편집 명을 가진 모든 문서를 원합니다.정확한 편집 거리를 가진 Lucene 검색
Lucene이 퍼지 검색 (FIRST_NAME : john ~)을 지원하고 퍼지를 제어하기 위해 0과 1 사이의 숫자를 사용한다는 것을 알고 있습니다. 문제는 (나를 위해)이 숫자가 편집 거리로 직접 변환되지 않는다는 것입니다. 그리고 문서의 값이 짧은 문자열 (3 문자 미만) 일 때 퍼지 검색은 찾기 어렵습니다. 예를 들어 'FIRST_NAME'이 (가)있는 문서가 있고 FIRST_NAME을 (를) 검색 한 경우 : I ~ 0.0 나는 아무것도 반환하지 않습니다.
Lucene을 살펴보면 93 페이지의 수식은'1-distance/min (textlen, targetlen)'이지만 0.0보다 작은 값을 허용하기 때문에 완전히 바뀔 수는 없습니다. 필자의 테스트에서 수식은 실제로'1 - 거리/최대 (textlen, targetlen) '을 사용하는 LevensteinDistance 구현과 달리'min (textlen, targetlen)'을 사용한다. 그래서 필요한 문자열을 반환 할 수 없게해야한다. 더 짧은 문자열의 길이보다 많은 변경 사항. –