mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-05-03 05:36:16 +02:00
Rename
This commit is contained in:
45
src/tools/analysis/predict-user-interst.ts
Normal file
45
src/tools/analysis/predict-user-interst.ts
Normal file
@@ -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);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user