我在我的微博应用程序中添加了“标签支持”。比如推特,google+,facebook和公司。我的应用程序用户可以在他们的消息中添加哈希标签。Hashtag被转换为html锚,指向列出所有相关消息的搜索页面。现在,,我还想向您展示"Trending“。
消息与MySQL表(InnoDB)以及user_id和一些meta_data一起保存。
我在想以下几种处理趋势的方法:
这都是理论上的。从长远来看,这个设置会有很好的效果吗?我担心可能出现的瓶颈和存储问题,这些问题可能会导致性能低下和尴尬。我不认为这是过早的优化,因为如果我现在不以正确的方式进行优化,那么如果可能的话,我需要在以后进行大量的更改。
标签是一个很受欢迎的主题,所以我想你们中的一些人有处理HT和相关搜索的经验。
我对一些建议和信息持开放态度,这些建议和信息可能指向使用hashtag的另一个方向。
发布于 2013-07-10 16:38:15
在标签和消息之间建立一个多到多的关系可能是值得的。这包括增加两个表:
id和hashtag字段(可能还有其他元数据),这将是所有现有哈希标签的定义(当用户创建新的哈希标签时,它将实时更新)。post_id和hashtag_id字段的hashtags messages,当用户创建带有哈希标签的帖子时,这些字段将更新。这个表中的每一个条目都是在一个帖子上找到的一个标签。例如:
hashtags
--------
id | hashtag
---+--------
1 | php
2 | madara
3 | awesome
hashtags-messages
-----------------
post_id | hashtag_id
-----------+-----------
1 | 2
1 | 3
2 | 1
2 | 3这意味着post 1具有#madara和#awesome的哈希标记,而post 2有#php和#awesome。
查询最流行的哈希标签就像在按hashtag_id分组时查询计数一样容易。使用JOIN,您可以获得有关hashtag本身的所有信息。
https://stackoverflow.com/questions/17576079
复制相似问题