Acts_as_taggable:用一次清理标签的方法吗?

时间:2014-04-21 16:50:28

标签: ruby-on-rails

我在我的项目中使用了Act_as_taggable Gem,但我的标签中有很多混乱:我有大约10000个标签,其中6000个标签只使用一次。

我在10000个标签上自动完成并自动完成非常慢。

清理只使用一次的标签的方法是什么?

1 个答案:

答案 0 :(得分:0)

你在使用什么版本的act_as_taggable?我是最新版本,我有两张桌子:

taggings -> id, tag_id, taggable_id, taggable_type, tagger_id, tagger_type, context, created_at
tags -> id, name, taggings_count

从tags.taggings_count中,您可以获得标签使用频率的数量。您可以删除仅使用一次的标记,但请确保您还删除引用它的标记中的条目以保持其一致(tags.id == taggable.tag_id)。 还要确保你在tags.name上有一个索引(默认情况下应该这样,但要仔细检查)。

更新:

删除标签?你想在你的应用程序中执行此操作吗?即列出页面上的所有标签并有一个删除按钮?或者你打算通过手工制作的声明在sql控制台中手动删除它?我建议使用第一个选项,因为它更干净简单:看看Usage Section of act_as_taggable_on - 它显示了如何删除标签。