2012-10-31 5 views
1

사용자 이름에 따라 모든 facebook 사용자에 대해 공개 검색을하고 싶지만 정확한 이름이 아닌 검색을 원합니다. 예를 들어 사용자가 'John Ada'를 검색하면 'John Adam'도 검색됩니다. 그 결과는 mutual_friend_count에 의해 정렬되어야합니다.공개 검색 facebook 사용자 정확하지 않음 이름 :

SELECT uid,name, pic_square, profile_url , mutual_friend_count FROM user WHERE contains("Name Surename") 
order by mutual_friend_count desc 

을하지만 이름이 내 앞의 예제와 같은 문자 사용자가 입수해온되지 않은 누락 된 경우에만 정확한 이름을 반환하고 :

나는 부분적으로 다음과 같은 FQL이 작업을 수행하기 위해 manged했던.

나는 오프셋과 한도를 사용하여 주위를 어지럽 혔지만 성공하지 못했습니다.

감사합니다.

답변

0

Facebook 검색 알고리즘은 전체 이름을 찾기 위해 최적화 된 것 같습니다. 부분적인 이름은 완전한 이름만큼 많은 결과를 반환하지 않습니다. 내 경험상, Facebook은 일반적인 변종의 이름을 확장하는 방법을 알고 있습니다. "John Adam"을 검색하면 "John Adams", "Johnny Adams"및 "John Addams"가 표시됩니다.

싸우는 다른 전투는 Facebook 필터링 알고리즘입니다. Facebook은 먼저 검색어를 충족하는 모든 일치 항목을 찾습니다. 다음은 사용자에게 공개 여부를 알리기 위해 필터링합니다.

WHERE 문에 AND NOT is_blocked을 추가 할 수 있습니다. 필터 알고리즘 전에 사용자에게 표시되지 않는 항목은 필터링해야합니다.