2012-06-14 4 views
0

수천 개의 오래된 문서를 스캔하여 데이터베이스에 중요한 데이터를 입력했습니다. 필드 중 하나는 작성자 이름입니다.신뢰할 수없는 저자 이름 검색

주어진 작성자가 문서를 검색해야하지만 데이터가 손으로 쓴 많은 문서에서 정확한 이름이 잘못 입력되었을 수 있습니다.

성의 처음 몇 글자 만 검색 한 다음 사용자가 선택할 수있는 목록을 표시 할 것을 생각했습니다. 이 단계에서 얼마나 많은 저자가 있는지 모르겠다. 수십만 명이 아니라 수백 명에 달할 것으로 생각된다. 수십만 개의 문서가있을 것입니다. 더 좋은 방법이 있습니까? SQL 데이터베이스에서 더 잘 처리 할 수 ​​있습니까?

소프트웨어는 파이썬이며 작성자가있는 문서 목록이 있습니다.

+1

이 링크를 살펴보십시오. http://en.wikipedia.org/wiki/Fuzzy_string_searching – dnagirl

+0

정규식 모듈은 퍼지 검색을 지원합니다. http : // pypi.python.org/pypi/regex' – MRAB

+0

다음 링크를 클릭하십시오. , difflib가 트릭을 할 수 있다고 생각합니다. 내 응용 프로그램에 대해 멋지고 쉽고 만족 스럽습니다. 감사합니다. – jimscafe

답변

0

저자의 가능한 모든 이름으로 목록 필드를 설정할 수있는 mongodb를 사용할 수 있다고 생각합니다. 예를 들어 손으로 쓴 이름이 "검은 색"이고 이름에 "c"또는 "e"와 같은 문자를 인식 할 수없고 원산지 이름을 "검은 색"으로 설정하고 가능한 이름 목록에 추가 할 수 있습니다 "blaek"

0

Lucene 위에 구축 된 Solr에 액세스하는 Python-Solr 라이브러리 인 Sunburnt을 사용할 수 있습니다.

SOLR이 무엇 발췌 :

SOLR 아파치 루씬 프로젝트에서 인기 타오르는 빠른 오픈 소스 엔터프라이즈 검색 플랫폼입니다. 주요 기능에는 강력한 전체 텍스트 검색, 히트 하이라이트, 패싯 검색, 동적 클러스터링, 데이터베이스 통합, 풍부한 문서 (예 : Word, PDF) 처리 및 지형 공간 검색이 있습니다. Solr는 확장 성이 뛰어나며 분산 검색 및 인덱스 복제를 제공하며 세계 최대 인터넷 사이트의 검색 및 탐색 기능을 지원합니다.

검색 기준에 상관없이 부분 히트 및 잠재적 인 일치를 포함하여 문서 검색에 필요한 모든 것을 제공합니다.

+0

제작에서 사용하려고 했습니까? – Denis

+0

예, 저는 이전 회사에서 부분 주소 정보를 비롯한 다양한 기준에 일치시키는 데 사용했습니다. –

+0

그리고 어떻게 3Gb 또는 그 이상의 데이터베이스와 같이 거대한 양의 데이터베이스에서 작동합니까? – Denis

관련 문제