2013-08-13 8 views
0

나는 이름 (성)의 목록과 간단한 검색 메커니즘을 가지고 있습니다. 검색 결과에 약간의 변경 (오타)이있는 단어를 사용하고 싶습니다.자바에서 거리 편집

예 검색 텍스트 : braniecka

예 결과 : 어떤 도움을 주시면 감사 Branicka, Kraniecka, Braniecki

.

+1

http://en.wikipedia.org/wiki/Edit_distance –

+2

그리고 어 : http://en.wikipedia.org/wiki/Levenshtein_distance –

답변

3

Levenshtein distance을 구현할 수 있습니다. 널리 사용되는 알고리즘입니다.

특히 프로덕션 작업을 수행하는 경우 솔루션을 Lucene으로 업그레이드하는 것이 좋습니다. Lucene은 귀하의 요구 사항을 매우 효율적으로 처리합니다 (철저한 철저한 검색이 필요 없음).

+1

HTTP : //en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#Java – AliBZ

+0

@AliBZ 당신과 링크를 업데이트했습니다. –

+0

위대한 그게 내가 무엇을 찾고 있었는지, 고마워요 – user1713059

0

simmetrics를 사용해보세요. 문자열 유사성을 측정하기위한 라이브러리이며 많은 알고리즘을 구현합니다. 내가 편집 거리 알고리즘에보고하는 것이 좋습니다 것

http://sourceforge.net/projects/simmetrics/

+0

아가씨 감사합니다. – user1713059