작은 PHP/MySQL 응용 프로그램에 퍼지 검색을 구현하려고합니다. 특히, 약 2400 개의 레코드가있는 데이터베이스가 있습니다 (레코드는 연간 약 600의 비율로 추가되므로 작은 데이터베이스 임). 세 가지 관심 분야는 거리 주소, 성 및 날짜입니다. 나는이 필드들 중 하나에 의해 검색 할 수 있기를 원하며 철자/문자 오류에 대한 내성을 가지고 있습니다. 즉, "123 Main St"의 주소는 "123 Main St", "123 Main St.", "123 Mian St", "123 Man St", "132 Main St"등과 같은 이름이어야합니다. 날짜.PHP/MySQL 소규모 퍼지 검색
내가 다른 유사한 질문에 대한 답변이 주요 문제 :
- 그것은 가능한 모든 잘못된 맞춤법에 대한 동의어를 정의하는 것은 불가능하다, 날짜와 이름을 그렇게 잊어 버려.
- Lucene 등은 제한된 검색 데이터 세트 (최대 5,000 개의 레코드, 레코드 당 3 개의 필드)에 대해 매우 무거운 것으로 보입니다.
- 와일드 카드를 사용하여 무언가를하는 것은 모든 가능한 맞춤법 오류와 함께 논리적으로 보이지 않습니다.
의견이 있으십니까? MySQL을 기본적으로 사용할 수는 없지만 데이터 세트가 너무 제한되어 있으므로 비교적 간단하게 유지하려고합니다. 아마도 PHP 클래스 인 을 모두의 레코드에서 가져옵니다. DB, 어떤 종류의 비교 알고리즘을 사용하고 유사한 레코드의 ID를 반환합니까?
감사합니다, 제이슨