精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-26
我觉得这个问题没有说清楚:
首先是怎么定义的tag: 是用户在一开始写blog 的时候自己制定的tag,那种用逗号分隔的字符串形式的 还是系统在后台默认定义一些tag ,比如ajax,然后用lucene 搜索这篇文章,如果找到了这个关键字就认为这篇文章包含这个tag,否者不是. 另外就是你怎么定义的搜索行为: 是用户输入一个字符串查询,然后查询范围是全文,用的lucene 做的索引, 还是用户要查询的文章的标题(应该指的是第一种) 如果tag 是写blog 时候就自己加上去的,数据库中应该有一个tag 表,包含主键,tagname ,blog外键 ,在用lucene 搜索的时候应该想办法返回这个tag 表的主键,然后把这个主键传给下面这种sql . select count(tagname),tagname from ( select tagname , blogid from tag where blogid in (前面返回的那个主键集合 ) )group by tagname 如果这个tag 本身不是有写blog 的那个人定义的,是系统自己定义的(根据一些热门的关键字),那应该预先计算这些tag ,在blog 保存的时候和系统定义新的tag 的时候. |
|
返回顶楼 | |
发表时间:2008-01-26
为tag设计一个数据表,在生成博客的时候统计,并更新该表。如果闲统计慢,可以在后台开线程异步做。
|
|
返回顶楼 | |
发表时间:2008-01-31
python做这些不错
|
|
返回顶楼 | |
发表时间:2008-02-20
galaxystar 写道 python做这些不错
和语言有关吗? PS:觉得robin的思路比较靠普.应该根据term来做,性能才会有保证 |
|
返回顶楼 | |