1

さまざまなユーザーから多くのウォール投稿を取得するウォールを開発しようとしています。ウォール投稿とこれらへのコメントを含む「edu_posts」というグローバル テーブルがあります。

ユーザーにとって最も関連性の高いコンテンツを表示することに重点を置いた、ある種のシステムを作成したいと考えています。

私が考えた現在の解決策について、フィードバック/代替方法/などを希望します。これは次のとおりです。

シンプルな評価システム:

  1. 関連する user_ids のリストを作成します。データベースには、フォロワー、投稿、メッセージ、いいね (投稿とコメントから) などのさまざまなテーブルが存在します。次に、システムは author_id が現在のユーザー ID であるすべての行を検索します。次に、receiver_id を取得し、それらを配列に入れます。retriever_id はおそらく、現在のユーザーが通信しようとしている人、および/または興味深いと考えている人ですkey => the user id, value => the number of times the reciever_id has appeared。次に、次のようなリストが作成されます: $userlist = array(12 => 9, 55 => 8, 7 => 5, 56 => 3) // etc etc(基本的に: ID 12 は 9 回、ID 55 は 8 回、など) これで、関連する user_ids のリストができました。
  2. posts_array に評価を追加します。データベースからすべてのウォール投稿とコメントを取得すると、次のような配列で出力されます。次に、配列を各フィールドスクリーンショットを見ると比較します。投稿 30 (上記の印刷例) で、ユーザー ID: 12 が 3 回 (コメントで 2 回、いいね! で 1 回) 存在し、評価がであり、この番号を に追加するとします。$userlistauthor_id (for the post), author_id (for the comments), author_id (for the likes)3 * 9 (nine, because the user_id 12 has appeared 9 times in our $userslist)(3 * 9): 27 to the ratings field$posts_array
  3. posts_array の並べ替え:基本的に行うことは$posts_array、評価フィールドと比較して並べ替えることだけです。

意味がありましたか?私の悩みわかりますか?私は十分に明確であることを願っています。これは答えるのが非常に難しい質問であり、本当の答えがないことは理解しています。上記の例はかなり重い SQL (関連するすべてのテーブルをフェッチし、データを含む) と PHP 操作になるため、存在するさまざまなメソッドを評価する必要があるだけです。

よろしくお願いします!

4

0 に答える 0