에 대한 가장 일치하는 항목 찾기 이전 게시판 Link here을 추적하면서 우리가 직면 한 또 다른 문제는 주소 필드 [ADDR_LINE_1, ADDR_LINE_2, CITY, STATE, ZIP]
에 가장 잘 맞는 것입니다.문자열 값 - Oracle/Java
[파일에서] 수신 주소 레코드와 일치 할 수있는 모든 레코드를 데이터베이스에 반환하려고합니다. 시나리오는 다음과 같습니다.
다음은 데이터베이스에있는 두 개의 레코드입니다. 수신 기록에 대한
ADDR_LINE_1, ADDR_LINE_2 , CITY , STATE, ZIP
001 Chestnut Avenue, Apt 100 , Indiana , IN , 9999
Apt 100 , 001 Chestnut Ave., Indianapolis, IN , 9999
, 나는 기존 레코드로 기록을 감지하고 위의 가능한 일치 항목을 모두 나열 할
ADDR_LINE_1, ADDR_LINE_2, CITY , STATE, ZIP
1 Chestnut Avenue, Apt 100 , Indiana , IN , 9999
을 다음과 같이.
[주의 :] 데이터베이스 항목의 순서는 서로 바뀌지 만 여전히 가능한 일치 항목으로 나열되어야합니다.
누구나 내가 그것에 대해 어떻게 할 수있는 지 제안 해 주실 수 있습니까?
첫 번째 단계 - 핸드 웨이브가없는 지점까지 "가능한 일치"를 정의하고 주어진 레코드가 일치 가능한지 여부를 강력하게 정의합니다. 두 번째 단계 -이 부울 함수를 구현합니다 (이제는 쉽게 수행 할 수 있어야 함). –
제안 해 주셔서 감사합니다. 지금까지 생각해 볼 수있는 내용은 다음과 같습니다. 도시, 주, 우편 번호와 같은 일부 "상수"값을 기반으로 레코드를 필터링 할 수 있습니다. 이것은 아마도 내가 좁혀가는 데 도움이 될 것입니다. 그런 다음 주소 행 1과 주소 행 2의 문자열 토큰에 대해 토큰이 일치하는 경우 즉, "001 Chestnut Avenue"와 "Apt 100"을 연결하고 수신 레코드 인 "1 Chestnut Avenue Apt 100 "을 찾고 5 개의 문자열 토큰 중 leat 3을 찾습니다. 이렇게하면 전체 레코드가 일치 할 수 있습니다. –
나는 성능에 대해 조금 염려한다. –