게시 된 답변은 잘 작동하지만 직장에서 작성한 자동 완성 라이브러리를 오픈 소스했습니다. 우리는 프로덕션에서 한동안 사용해 왔으며 빠르고 안정적이며 사용하기 쉽습니다. 데모 모드도있어 단어를 입력 할 때 얻을 수있는 내용을 빠르게 테스트 할 수 있습니다.
설치하려면 다음을 실행하십시오. pip install fast-autocomplete
예를 들면 다음과 같습니다.
>>> from fast_autocomplete import AutoComplete
>>> words = {'book': {}, 'burrito': {}, 'pizza': {}, 'pasta':{}}
>>> autocomplete = AutoComplete(words=words)
>>> autocomplete.search(word='b', max_cost=3, size=3)
[['book'], ['burrito']]
>>> autocomplete.search(word='bu', max_cost=3, size=3)
[['burrito']]
>>> autocomplete.search(word='barrito', max_cost=3, size=3)
[['burrito']]
체크 아웃 : https://github.com/wearefair/fast-autocomplete for the source code.
작동 원리에 대한 설명은 다음과 같습니다. http://zepworks.com/posts/you-autocomplete-me/
맞춤법 오류를 처리하고 선택적으로 단어의 가중치에 따라 정렬합니다. ( burrito
이보다 더 중요 하다고 가정 해 봅시다 book
. 그러면 burrito
더 높은 "개수"가 주어 지고 이전에 먼저 표시됩니다.book
하면 결과에 .
단어는 사전이며 각 단어는 컨텍스트를 가질 수 있습니다. 예를 들어 "개수", 단어 표시 방법, 단어 주변의 다른 컨텍스트 등이 있습니다.이 예제에서 단어에는 컨텍스트가 없습니다.