2012-09-18 4 views
2

사용자가 위치를 검색 할 수있는 웹 앱을 구축 중이며 약 10,000 개의 데이터베이스에서 가능한 지점을 가져옵니다. jQuery UI autocomplete 플러그인을 사용하여 10,000 개의 사이트를 검색하는 배열에로드하는 것이 현실적인 지 궁금합니다. 그렇지 않으면 내가 할 수있는 일을하고 그것을 최대 속도.거대한 배열에 대한 자동 완성

감사합니다.

답변

4

각 브라우저에 10,000 개의 위치를 ​​보내지 않으실 것입니다. 체크 아웃 : http://jqueryui.com/demos/autocomplete/#remote

jquery는 2 개의 문자 (이 예에서)를 통과하면 부분 문자열을 서버로 보냅니다. 그런 다음 10 개 정도를 다시 보냅니다. 사용자가 더 많은 문자를 입력하면 사용자가 원하는 문자를 볼 때까지 일치 항목이 더 정교 해집니다.

이 작업은 문자열의 시작 부분을 일치시켜 빠르고 가장 일반적인 방법이기는하지만 부분 문자열 일치도 함께 수행했습니다.

서버 측에서 일치하는 항목을 캐시하는 것이 좋습니다.

+0

아 좋아요. 감사합니다. – clifgray

+0

문제 없습니다. 서버의 데이터 구조에 대해 memcache (모든 종류의 임시/제한된 메모리 캐시가 작동 함)를 사용하고 특정 하위 문자열을 검색 한 결과를 저장합니다. 만약 당신이 공상을 원한다면/이것이 병목이된다면 trie 나 비슷한 것을 사용할 수 있습니다. http://en.wikipedia.org/wiki/Trie –

관련 문제