2013-02-18 48 views
1

我試圖使用部分字符串搜索公司的不同分支。下面是我使用的查詢:Facebook FQL搜索頁面使用部分字符串

SELECT name, location, fan_count, talking_about_count, were_here_count FROM page WHERE strpos(name, "Applebee's") >= 0 OR (name < 0)

我得到的錯誤:

Your statement is not indexable. The WHERE clause must contain an indexable column.

名稱被列爲可轉位,所以我不知道爲什麼這個錯誤發生。

回答

2

您可以使用功能CONTAINS()

SELECT name, location, fan_count, talking_about_count, were_here_count FROM page WHERE CONTAINS("Applebee's") and strpos(name, "Applebee's") >=0 

這個查詢輸出將包含阿普爾比的名字中的所有結果。

+0

謝謝!這完美的作品! – Momo 2013-02-18 19:31:20

+0

我還有一個問題。你知道如何讓CONTAINS函數中的公司只是部分字符串的開始嗎?例如,如果我正在尋找希爾頓酒店的分支機構,我會使用CONTAINS(「Hilton」)。不過,我的第一個回報結果之一是「巴黎希爾頓」這個人。 CONTAINS()不識別通常的通配符,如*,%。 – Momo 2013-02-19 18:45:07

+0

@Momo如果希爾頓應該是第一個詞,那麼應該將額外的過濾器設置爲'strpos(name,「Hilton」)= 0'(所以我們只會選擇那些從Hilton開始的名字) – user15 2013-02-19 19:08:22