2012-10-31 27 views
1

我想根據用戶的名稱對所有Facebook用戶進行公開搜索,但是我希望搜索不是確切的名稱。例如,如果用戶搜索'約翰阿達',結果'約翰亞當'也將被撤回。 之後,結果需要由mutual_friend_count進行排序。非公開搜索Facebook用戶的非確切名稱

我manged做這個部分有以下FQL:

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

但它只返回確切的名稱,如果名稱是缺少像我剛纔的例子信用戶沒有retreived。

我試圖解決偏移和限制,但沒有成功。

謝謝!

回答

0

Facebook搜索算法似乎被優化以查找全名。部分名稱似乎永遠不會像完整名稱那樣返回儘可能多的結果。根據我的經驗,Facebook知道如何擴展常見變體的名稱。搜索「約翰亞當」將返回「約翰亞當斯」,「約翰尼亞當斯」和「約翰亞當斯」

你打的另一場戰鬥是Facebook過濾算法。 Facebook首先查找符合您的查詢的所有匹配項,然後然後對它們進行過濾,以供您的用戶查看。

您可以嘗試將AND NOT is_blocked添加到您的WHERE聲明中。這應該過濾出在過濾算法之前不可見的任何內容。