diff options
| author | こぴなたみぽ <Syuilotan@yahoo.co.jp> | 2017-11-06 19:11:23 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-06 19:11:23 +0900 |
| commit | cb7e70dee3aa47807d33757d4ecd07e2793540d0 (patch) | |
| tree | c6795a6c0aa200195748c364d4ab990c6a160150 /src/tools/analysis/predict-user-interst.ts | |
| parent | chore(package): update @types/rimraf to version 2.0.2 (diff) | |
| parent | Merge pull request #871 from syuilo/greenkeeper/@types/elasticsearch-5.0.17 (diff) | |
| download | misskey-cb7e70dee3aa47807d33757d4ecd07e2793540d0.tar.gz misskey-cb7e70dee3aa47807d33757d4ecd07e2793540d0.tar.bz2 misskey-cb7e70dee3aa47807d33757d4ecd07e2793540d0.zip | |
Merge branch 'master' into greenkeeper/@types/rimraf-2.0.2
Diffstat (limited to 'src/tools/analysis/predict-user-interst.ts')
| -rw-r--r-- | src/tools/analysis/predict-user-interst.ts | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/tools/analysis/predict-user-interst.ts b/src/tools/analysis/predict-user-interst.ts new file mode 100644 index 0000000000..99bdfa4206 --- /dev/null +++ b/src/tools/analysis/predict-user-interst.ts @@ -0,0 +1,45 @@ +import Post from '../../api/models/post'; +import User from '../../api/models/user'; + +export async function predictOne(id) { + console.log(`predict interest of ${id} ...`); + + // TODO: repostなども含める + const recentPosts = await Post.find({ + user_id: id, + category: { + $exists: true + } + }, { + sort: { + _id: -1 + }, + limit: 1000, + fields: { + _id: false, + category: true + } + }); + + const categories = {}; + + recentPosts.forEach(post => { + if (categories[post.category]) { + categories[post.category]++; + } else { + categories[post.category] = 1; + } + }); +} + +export async function predictAll() { + const allUsers = await User.find({}, { + fields: { + _id: true + } + }); + + allUsers.forEach(user => { + predictOne(user._id); + }); +} |