2011-09-29 4 views
-3

페이스 북 검색 상자 (프로필의 파란색 상단 막대에 표시됨)에 사람 이름을 입력하기 시작하면 갑자기 몇 초 내에 검색 결과가 나타나고, 프로필에 사용자가 이미 있습니다.기술 페이스 북 검색 뒤에 기술

그래서이 검색 뒤에있는 것이 무엇인지 알고 싶습니다. 어떤 소프트웨어 도구와 알고리즘을 사용하고 있는지 알고 싶습니다.

페이스 북 이외의 다른 사람이 나에 대해 정확히 설명 할 수 없다는 것을 알고 있습니다.

나는 그들이 오픈 소스라는 것을 사용하고있을 것이라고 확신한다.

+0

관련 항목 : [스마트 검색은 어떻게 페이스 북에서 그렇게 빨리 나타 납니까?] (http://stackoverflow.com/questions/5027933/how-come-smart-search-is-so-fast-in-facebook) –

답변

2

응답은 자동 완성 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 위에 구축되어 있지만, 이것이 사용 중인지 확인할 수는 없지만 연구 방향을 제시하고 있습니다.

2

기본 기술이 AJAX이고 친구 목록에있는 프로필의 성능을 향상시키는 일부 캐싱 메커니즘이 있다고 가정합니다.