Documentation ¶
Index ¶
- type Item
- type Rating
- type Recommender
- func (r *Recommender) Close()
- func (r *Recommender) Dislike(user *User, item *Item) error
- func (r *Recommender) GetDislikedItems(user *User) (map[string]Item, error)
- func (r *Recommender) GetItems(startAt int, count int) ([]Item, error)
- func (r *Recommender) GetLikedItems(user *User) (map[string]Item, error)
- func (r *Recommender) GetRatingNeighbors(user *User) (map[string]User, error)
- func (r *Recommender) GetRatings(user *User) (map[string]Rating, error)
- func (r *Recommender) GetSimilarity(user *User) (map[string]Similarity, error)
- func (r *Recommender) GetSuggestions(user *User) (map[string]Suggestion, error)
- func (r *Recommender) GetUsers(startAt int, count int) ([]User, error)
- func (r *Recommender) GetUsersWhoDislike(item *Item) (map[string]User, error)
- func (r *Recommender) GetUsersWhoLike(item *Item) (map[string]User, error)
- func (r *Recommender) GetUsersWhoRated(item *Item) (map[string]User, error)
- func (r *Recommender) Like(user *User, item *Item) error
- func (r *Recommender) UpdateSimilarity(user *User) error
- func (r *Recommender) UpdateSuggestions(user *User) error
- type Score
- type Similarity
- type SimilarityIndex
- type Suggestion
- type SuggestionIndex
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Recommender ¶
type Recommender struct {
// contains filtered or unexported fields
}
func NewRecommender ¶
func NewRecommender(params ...bool) (*Recommender, error)
NewRecommender returns a new Recommender. The database is opened and buckets are created. true in params means to drop db if exists
func (*Recommender) Close ¶
func (r *Recommender) Close()
Close closes the Recommender's store connection. Deferring a call to this method is recommended on creation of a Recommender.
func (*Recommender) Dislike ¶
func (r *Recommender) Dislike(user *User, item *Item) error
Dislike records a user disliking an item. If the user already dislikes the item, nothing happens. If the user likes the item, the like is removed first. Only if the recording fails will this return an error.
func (*Recommender) GetDislikedItems ¶
func (r *Recommender) GetDislikedItems(user *User) (map[string]Item, error)
GetDislikedItems gets Items disliked by the given User.
func (*Recommender) GetItems ¶
func (r *Recommender) GetItems(startAt int, count int) ([]Item, error)
GetItems retrieves a collection of Items.
func (*Recommender) GetLikedItems ¶
func (r *Recommender) GetLikedItems(user *User) (map[string]Item, error)
GetLikedItems gets Items liked by the given User.
func (*Recommender) GetRatingNeighbors ¶
func (r *Recommender) GetRatingNeighbors(user *User) (map[string]User, error)
GetRatingNeighbors returns a set of users, indexed by user ID, who rated the same items that the given user rated.
func (*Recommender) GetRatings ¶
func (r *Recommender) GetRatings(user *User) (map[string]Rating, error)
GetRatings retrieves all items a user has rated and returns a map of item ID to Rating, which includes the item and the score the user gave.
func (*Recommender) GetSimilarity ¶
func (r *Recommender) GetSimilarity(user *User) (map[string]Similarity, error)
GetSimilarity returns a map the given user's similarities, keyed by their similar user's ID
func (*Recommender) GetSuggestions ¶
func (r *Recommender) GetSuggestions(user *User) (map[string]Suggestion, error)
GetSuggestions retrieves the set of Suggestions for the given user.
func (*Recommender) GetUsers ¶
func (r *Recommender) GetUsers(startAt int, count int) ([]User, error)
GetUsers retrieves a collection of Users.
func (*Recommender) GetUsersWhoDislike ¶
func (r *Recommender) GetUsersWhoDislike(item *Item) (map[string]User, error)
GetUsersWhoDislike retrieves the collection of users who dislike the given Item.
func (*Recommender) GetUsersWhoLike ¶
func (r *Recommender) GetUsersWhoLike(item *Item) (map[string]User, error)
GetUsersWhoLike retrieves the collection of users who like the given Item.
func (*Recommender) GetUsersWhoRated ¶
func (r *Recommender) GetUsersWhoRated(item *Item) (map[string]User, error)
GetUsersWhoRated retrieves the collection of users who rated the given Item.
func (*Recommender) Like ¶
func (r *Recommender) Like(user *User, item *Item) error
Like records a user liking an item. If the user already likes the item, nothing happens. Only if the recording fails will this return an error.
func (*Recommender) UpdateSimilarity ¶
func (r *Recommender) UpdateSimilarity(user *User) error
UpdateSimilarity calculates the similarity index for each user with which the given user has overlapping rated items.
func (*Recommender) UpdateSuggestions ¶
func (r *Recommender) UpdateSuggestions(user *User) error
UpdateSuggestions generates a set of Suggestions (items with corresponding suggestion index) for the given user.
type Similarity ¶
type Similarity struct { User User `json:"user"` Index SimilarityIndex `json:"index"` }
type SimilarityIndex ¶
type SimilarityIndex float32
type Suggestion ¶
type Suggestion struct { Item Item `json:"item"` Index SuggestionIndex `json:"index"` }
type SuggestionIndex ¶
type SuggestionIndex float32