2013-03-09 4 views
0

나는이 질문이 이전에 있었지만 3 년 전 같았으며 그 것이 평생이라는 것을 알고있다. :)SQL을 사용하여 자동 완성을 구현하는 가장 좋은 방법

PHP로 mysql db에 대한 자동 완성을 위해 twitter-bootstrap을 사용하고 있습니다. 현재 잘 작동합니다. 그러나 모든 키 이벤트에 대해 쿼리를 사용하여 db를 찾았으므로 대규모 응용 프로그램에 대한 좋은 해결책이 아닙니다.

여기서 가장 좋은 방법은 무엇입니까? 내 memcache에 대해 생각하고 있지만, 이것은 동적 db가 성장할 것입니다, 어떻게 db의 새로운 정보가 캐싱되는지 확인합니까? 나는 제안을 위해 열려 있습니다.

+0

당신이 굵은 글씨로 넣어해서 사실하지 않습니다. 이것은 가지고 있지 않은 문제를 고치는 경우입니다. 솔루션을 구현하여 문제가 있는지 확인하십시오. 다른 곳으로 이동하지는 마십시오. – Hogan

+1

아니요 지금 당장은 문제가 없지만 나중에 웹 트래픽이 많을 때 문제가 있음을 알 수 없습니다. 최근 질문에 대한 답변이나 기사를 찾을 수 없기 때문에 질문을 던졌습니다. 그리고 저에게는 db에 대해 자동 완성 기능을 가진 '올바른'접근법에 대해 궁금한 사람이 많이 있습니다. – bangerang

답변

0

자동 완성의 경우 트라이 그램 매칭을 사용할 수 있습니다.

또한 Solr/Lucene 또는 Sphinx와 같은 특수 전문 검색 엔진을 사용할 수 있습니다.

다른 대안 : postgresql로 전환하고 pg_trgm 확장자를 사용하십시오.

+0

thx mate, 나는 그것을 들여다 볼 것입니다! – bangerang

0

이월 2013 트위터, 은, 자동 완성에 대한 SA 강력한 오픈 소스의 lib 디렉토리는 (부트 스트랩 아니다) 선행 입력을 발표하고 자신의 특징 중 하나는 다음과 같습니다

속도 - 제한 네트워크 요청이 밝게 짐

나는 당신을 시도하는 것이 좋습니다.

유용한 링크 :

http://twitter.github.com/typeahead.js/examples/

https://github.com/twitter/typeahead.js

http://engineering.twitter.com/2013/02/twitter-typeaheadjs-you-autocomplete-me.html

+0

감사합니다! 그게 좋은 특징이야. – bangerang

관련 문제