응답은 자동 완성 Ajax 양식이지만 실제로는 문제되지 않습니다. 여기서 중요한 질문은 텍스트 필드에서 얼마나 빨리 검색 할 수 있는가입니다. 페이스 북은 이것을 2 부분으로 나눕니다. 먼저 친구 목록에서 100에서 1000 개의 항목이 포함 된 캐시 된 비교적 드물게 변경된 파일을 검색합니다. 이것은 아주 빠릅니다. 다른 것은 10 억 개의 이름을 추측하는 모든 Facebook에서 이름을 검색하는 것입니다. 이것은 좀 더 까다 롭습니다. 그러나 나는 그것들을 분할하고 글자 나 문자 조합으로 색인을 만들었을 것입니다. 예를 들면 :
// search query Alice Cooper
A ... they give you a list of A like names Alina, Ana, Alice...
Al .... they limit it to Alicia, Alice, Alina ...
// and so on
아마가 검색을 수행 시작이 아니라 10 억 행,하지만 3 레벨 친구의 제한된 집합 및 아마 매번 증가하고 3 글자 후.
아마 쿼리는 전체 테이블과 비교되지 않으며 대부분의 일반 이름에 대해 확실히 캐시 된 수준 또는 다시 계산 된 쿼리가 있습니다.
이것은 기술 측면에 있습니다. 기술 측면에서 볼 때 Solandra을 살펴보십시오. 검색 엔진은 Facebook이 사용하고있는 Cassandra 위에 구축되어 있지만, 이것이 사용 중인지 확인할 수는 없지만 연구 방향을 제시하고 있습니다.
관련 항목 : [스마트 검색은 어떻게 페이스 북에서 그렇게 빨리 나타 납니까?] (http://stackoverflow.com/questions/5027933/how-come-smart-search-is-so-fast-in-facebook) –