ストリーム テーブルから検索結果を取得すると、返されるコンポーネントの 1 つがコメントの配列です。コメント配列内のコメントのテキストに基づいて検索する方法があるかどうか疑問に思っていましたか?
これが私のクエリです。現在の形式で問題なく動作します。
SELECT post_id、属性、メッセージ、説明、comments.comment_list.text、いいね、 場所、パーマリンク、メッセージタグ、メッセージ、説明タグ、タイプ FROM ストリーム WHERE filter_key in (select filter_key FROM stream_filter WHERE uid=me()) と ( (strpos(lower(メッセージ), '大学フットボール') >= 0) OR (strpos(lower(説明), '大学フットボール') >= 0) OR (strpos(lower(attribution), '大学フットボール') >= 0) ) created_time デスク順
返された行の 1 つのcomments.comment_list.textの結果は次のようになります。
"コメント": { "コメントリスト": [ { "text": "私はカレッジフットボールが大好きです" }、 { "text": "アラバマと LSU がカレッジ フットボールを制する" } ] }
私の質問は、上記のmessage、description、およびattributionと同じように、 comments.comment_list.textも検索する方法はありますか? 次のようなものを追加しようとしたとき:
(strpos(lower(comments.comment_list.text), '大学フットボール') >= 0)
空のデータセットを取得しました (興味深いことに、エラーは発生せず、空の結果のみが表示されます)。なぜかというと、コメントの配列を反復処理し、そのテキストを取得してコメントのテキストを比較できるようにする必要があるからです。私は Facebook 側で FQL を使用してこれを行いたいと考えており、すべての結果を取得してから、それらを繰り返し処理することを避けたいと考えています。どうすればそれができるかについてのアイデアや提案はありますか?
助けてくれてありがとう!