MongoDBの最初の段階は、ユーザーが使用したハッシュタグの各メッセージを解析し、それらをドキュメントのサブ配列に配置することです。ステータス更新の例:
このメッセージは、MongoDBでは次のようになります:
{
author: "Peter",
date: ISODate("2014-04-29 12:28:34"),
text: "Hello friends, I visited the #tradeshow in #washington and drank a delicious #coffee",
hashtags: [
"tradeshow",
"washington",
"coffee"
]
}
次に、db.collection.hashtags
にインデックスを作成するとき これらのハッシュタグの1つを含むすべてのメッセージをすばやく検索できます。結果を日付で並べ替えて制限し、ユーザーに最新の結果が最初に表示されるようにすることをお勧めします。日付も含む複合インデックスにすると、スピードアップすることもできます。
「トレンド」トピックを実装する方法は、非常に複雑な質問です。また、「トレンド」と見なすものによっては、非常に主観的です。 TwitterまたはFacebookがどのトピックがトレンドであるかどうかを判断するために使用する正確なアルゴリズムは公開されていません。さまざまなソーシャルメディアアナリストによると、それらも頻繁に変更されるため、今ではかなり複雑であると推測できます。
つまり、私たちはあなたがあなた自身でアルゴリズムを考え出すのを助けることができないことを意味します。ただし、ハッシュタグの「傾向」を計算するためのアルゴリズムをすでに念頭に置いている場合は、適切な実装を見つけるのに役立ちます。