diff options
| author | こぴなたみぽ <Syuilotan@yahoo.co.jp> | 2017-11-06 19:10:10 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-11-06 19:10:10 +0900 |
| commit | 03e86ec05216d49f9a1af5dd92f0fa12f2da4825 (patch) | |
| tree | 9257b5d2d0abc626187a9ba9640097bc5624d158 /src/tools/analysis/predict-user-interst.ts | |
| parent | chore(package): update @types/serve-favicon to version 2.2.29 (diff) | |
| parent | Merge pull request #870 from syuilo/greenkeeper/@types/multer-1.3.5 (diff) | |
| download | misskey-03e86ec05216d49f9a1af5dd92f0fa12f2da4825.tar.gz misskey-03e86ec05216d49f9a1af5dd92f0fa12f2da4825.tar.bz2 misskey-03e86ec05216d49f9a1af5dd92f0fa12f2da4825.zip | |
Merge branch 'master' into greenkeeper/@types/serve-favicon-2.2.29
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); + }); +} |