0
0
Fork 0

Track trending tags (#7638)

* Track trending tags

- Half-life of 1 day
- Historical usage in daily buckets (last 7 days stored)
- GET /api/v1/trends

Fix #271

* Add trends to web UI

* Don't render compose form on search route, adjust search results header

* Disqualify tag from trends if it's in disallowed hashtags setting

* Count distinct accounts using tag, ignore silenced accounts
This commit is contained in:
Eugen Rochko 2018-05-27 21:45:30 +02:00 committed by GitHub
parent 63c7b91572
commit 9bd23dc4e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 310 additions and 10 deletions

View file

@ -21,6 +21,22 @@ class Tag < ApplicationRecord
name
end
def history
days = []
7.times do |i|
day = i.days.ago.beginning_of_day.to_i
days << {
day: day.to_s,
uses: Redis.current.get("activity:tags:#{id}:#{day}") || '0',
accounts: Redis.current.pfcount("activity:tags:#{id}:#{day}:accounts").to_s,
}
end
days
end
class << self
def search_for(term, limit = 5)
pattern = sanitize_sql_like(term.strip) + '%'