Documentation
¶
Index ¶
- Constants
- Variables
- func ConvertDocumentsToValues(documents []Document) []string
- func Key(keys ...string) string
- func SortDocuments(documents []Document)
- type Database
- type Document
- type DocumentAggregator
- type DocumentCondition
- type DocumentPatch
- type Message
- type MongoDB
- func (m MongoDB) AddDocuments(ctx context.Context, collection, subset string, documents []Document) error
- func (m MongoDB) AddSet(ctx context.Context, name string, members ...string) error
- func (m MongoDB) AddTimeSeriesPoints(ctx context.Context, points []TimeSeriesPoint) error
- func (m MongoDB) Close() error
- func (m MongoDB) Delete(ctx context.Context, name string) error
- func (m MongoDB) DeleteDocuments(ctx context.Context, collections []string, condition DocumentCondition) error
- func (m MongoDB) Get(ctx context.Context, name string) *ReturnValue
- func (m MongoDB) GetSet(ctx context.Context, name string) ([]string, error)
- func (m MongoDB) GetTimeSeriesPoints(ctx context.Context, name string, begin, end time.Time) ([]TimeSeriesPoint, error)
- func (m MongoDB) Init() error
- func (m MongoDB) Ping() error
- func (m MongoDB) Pop(ctx context.Context, name string) (string, error)
- func (m MongoDB) Purge() error
- func (m MongoDB) Push(ctx context.Context, name, value string) error
- func (m MongoDB) RemSet(ctx context.Context, name string, members ...string) error
- func (m MongoDB) Remain(ctx context.Context, name string) (int64, error)
- func (m MongoDB) Scan(work func(string) error) error
- func (m MongoDB) SearchDocuments(ctx context.Context, collection, subset string, query []string, begin, end int) ([]Document, error)
- func (m MongoDB) Set(ctx context.Context, values ...Value) error
- func (m MongoDB) SetSet(ctx context.Context, name string, members ...string) error
- func (m MongoDB) UpdateDocuments(ctx context.Context, collections []string, id string, patch DocumentPatch) error
- type NoDatabase
- func (NoDatabase) AddDocuments(_ context.Context, _, _ string, _ []Document) error
- func (NoDatabase) AddSet(_ context.Context, _ string, _ ...string) error
- func (NoDatabase) AddTimeSeriesPoints(_ context.Context, _ []TimeSeriesPoint) error
- func (NoDatabase) Close() error
- func (NoDatabase) Delete(_ context.Context, _ string) error
- func (NoDatabase) DeleteDocuments(_ context.Context, _ []string, _ DocumentCondition) error
- func (NoDatabase) Get(_ context.Context, _ string) *ReturnValue
- func (NoDatabase) GetSet(_ context.Context, _ string) ([]string, error)
- func (NoDatabase) GetTimeSeriesPoints(_ context.Context, _ string, _, _ time.Time) ([]TimeSeriesPoint, error)
- func (NoDatabase) Init() error
- func (NoDatabase) Ping() error
- func (NoDatabase) Pop(_ context.Context, _ string) (string, error)
- func (NoDatabase) Purge() error
- func (NoDatabase) Push(_ context.Context, _, _ string) error
- func (NoDatabase) RemSet(_ context.Context, _ string, _ ...string) error
- func (NoDatabase) Remain(_ context.Context, _ string) (int64, error)
- func (NoDatabase) Scan(_ func(string) error) error
- func (NoDatabase) SearchDocuments(_ context.Context, _, _ string, _ []string, _, _ int) ([]Document, error)
- func (NoDatabase) Set(_ context.Context, _ ...Value) error
- func (NoDatabase) SetSet(_ context.Context, _ string, _ ...string) error
- func (NoDatabase) UpdateDocuments(_ context.Context, _ []string, _ string, _ DocumentPatch) error
- type PostgresDocument
- type Redis
- func (r *Redis) AddDocuments(ctx context.Context, collection, subset string, documents []Document) error
- func (r *Redis) AddSet(ctx context.Context, key string, members ...string) error
- func (r *Redis) AddTimeSeriesPoints(ctx context.Context, points []TimeSeriesPoint) error
- func (r *Redis) Close() error
- func (r *Redis) Delete(ctx context.Context, key string) error
- func (r *Redis) DeleteDocuments(ctx context.Context, collections []string, condition DocumentCondition) error
- func (r *Redis) Get(ctx context.Context, key string) *ReturnValue
- func (r *Redis) GetSet(ctx context.Context, key string) ([]string, error)
- func (r *Redis) GetTimeSeriesPoints(ctx context.Context, name string, begin, end time.Time) ([]TimeSeriesPoint, error)
- func (r *Redis) Init() error
- func (r *Redis) Ping() error
- func (r *Redis) Pop(ctx context.Context, name string) (string, error)
- func (r *Redis) Purge() error
- func (r *Redis) Push(ctx context.Context, name string, message string) error
- func (r *Redis) RemSet(ctx context.Context, key string, members ...string) error
- func (r *Redis) Remain(ctx context.Context, name string) (int64, error)
- func (r *Redis) Scan(work func(string) error) error
- func (r *Redis) SearchDocuments(ctx context.Context, collection, subset string, query []string, begin, end int) ([]Document, error)
- func (r *Redis) Set(ctx context.Context, values ...Value) error
- func (r *Redis) SetSet(ctx context.Context, key string, members ...string) error
- func (r *Redis) UpdateDocuments(ctx context.Context, collections []string, id string, patch DocumentPatch) error
- type ReturnValue
- type SQLDatabase
- func (db *SQLDatabase) AddDocuments(ctx context.Context, collection, subset string, documents []Document) error
- func (db *SQLDatabase) AddSet(ctx context.Context, key string, members ...string) error
- func (db *SQLDatabase) AddTimeSeriesPoints(ctx context.Context, points []TimeSeriesPoint) error
- func (db *SQLDatabase) Close() error
- func (db *SQLDatabase) Delete(ctx context.Context, name string) error
- func (db *SQLDatabase) DeleteDocuments(ctx context.Context, collections []string, condition DocumentCondition) error
- func (db *SQLDatabase) Get(ctx context.Context, name string) *ReturnValue
- func (db *SQLDatabase) GetSet(ctx context.Context, key string) ([]string, error)
- func (db *SQLDatabase) GetTimeSeriesPoints(ctx context.Context, name string, begin, end time.Time) ([]TimeSeriesPoint, error)
- func (db *SQLDatabase) Init() error
- func (db *SQLDatabase) Ping() error
- func (db *SQLDatabase) Pop(ctx context.Context, name string) (string, error)
- func (db *SQLDatabase) Purge() error
- func (db *SQLDatabase) Push(ctx context.Context, name, value string) error
- func (db *SQLDatabase) RemSet(ctx context.Context, key string, members ...string) error
- func (db *SQLDatabase) Remain(ctx context.Context, name string) (count int64, err error)
- func (db *SQLDatabase) Scan(work func(string) error) error
- func (db *SQLDatabase) SearchDocuments(ctx context.Context, collection, subset string, query []string, begin, end int) ([]Document, error)
- func (db *SQLDatabase) Set(ctx context.Context, values ...Value) error
- func (db *SQLDatabase) SetSet(ctx context.Context, key string, members ...string) error
- func (db *SQLDatabase) UpdateDocuments(ctx context.Context, collections []string, id string, patch DocumentPatch) error
- type SQLDocument
- type SQLDriver
- type SQLSet
- type SQLSortedSet
- type SQLValue
- type TimeSeriesPoint
- type Value
Constants ¶
View Source
const ( // ItemNeighbors is sorted set of neighbors for each item. // Global item neighbors - item_neighbors/{item_id} // Categorized item neighbors - item_neighbors/{item_id}/{category} ItemNeighbors = "item_neighbors" // ItemNeighborsDigest is digest of item neighbors configuration // Item neighbors digest - item_neighbors_digest/{item_id} ItemNeighborsDigest = "item_neighbors_digest" // UserNeighbors is sorted set of neighbors for each user. // User neighbors - user_neighbors/{user_id} UserNeighbors = "user_neighbors" // UserNeighborsDigest is digest of user neighbors configuration // User neighbors digest - user_neighbors_digest/{user_id} UserNeighborsDigest = "user_neighbors_digest" // CollaborativeRecommend is sorted set of collaborative filtering recommendations for each user. // Global recommendation - collaborative_recommend/{user_id} // Categorized recommendation - collaborative_recommend/{user_id}/{category} CollaborativeRecommend = "collaborative_recommend" // collaborative filtering recommendation for each user // OfflineRecommend is sorted set of offline recommendation for each user. // Global recommendation - offline_recommend/{user_id} // Categorized recommendation - offline_recommend/{user_id}/{category} OfflineRecommend = "offline_recommend" // OfflineRecommendDigest is digest of offline recommendation configuration. // Recommendation digest - offline_recommend_digest/{user_id} OfflineRecommendDigest = "offline_recommend_digest" // PopularItems is sorted set of popular items. The format of key: // Global popular items - latest_items // Categorized popular items - latest_items/{category} PopularItems = "popular_items" // LatestItems is sorted set of the latest items. The format of key: // Global latest items - latest_items // Categorized the latest items - latest_items/{category} LatestItems = "latest_items" // ItemCategories is the set of item categories. The format of key: // Global item categories - item_categories ItemCategories = "item_categories" LastModifyItemTime = "last_modify_item_time" // the latest timestamp that a user related data was modified LastModifyUserTime = "last_modify_user_time" // the latest timestamp that an item related data was modified LastUpdateUserRecommendTime = "last_update_user_recommend_time" // the latest timestamp that a user's recommendation was updated LastUpdateUserNeighborsTime = "last_update_user_neighbors_time" // the latest timestamp that a user's neighbors item was updated LastUpdateItemNeighborsTime = "last_update_item_neighbors_time" // the latest timestamp that an item's neighbors was updated // GlobalMeta is global meta information GlobalMeta = "global_meta" DataImported = "data_imported" NumUsers = "num_users" NumItems = "num_items" NumUserLabels = "num_user_labels" NumItemLabels = "num_item_labels" NumTotalPosFeedbacks = "num_total_pos_feedbacks" NumValidPosFeedbacks = "num_valid_pos_feedbacks" NumValidNegFeedbacks = "num_valid_neg_feedbacks" LastFitMatchingModelTime = "last_fit_matching_model_time" LastFitRankingModelTime = "last_fit_ranking_model_time" LastUpdateLatestItemsTime = "last_update_latest_items_time" // the latest timestamp that latest items were updated LastUpdatePopularItemsTime = "last_update_popular_items_time" // the latest timestamp that popular items were updated UserNeighborIndexRecall = "user_neighbor_index_recall" ItemNeighborIndexRecall = "item_neighbor_index_recall" MatchingIndexRecall = "matching_index_recall" )
Variables ¶
View Source
var ( ErrObjectNotExist = errors.NotFoundf("object") ErrNoDatabase = errors.NotAssignedf("database") )
View Source
var ItemCache = []string{PopularItems, LatestItems, ItemNeighbors, OfflineRecommend}
Functions ¶
func SortDocuments ¶
func SortDocuments(documents []Document)
Types ¶
type Database ¶
type Database interface { Close() error Ping() error Init() error Scan(work func(string) error) error Purge() error Set(ctx context.Context, values ...Value) error Get(ctx context.Context, name string) *ReturnValue Delete(ctx context.Context, name string) error GetSet(ctx context.Context, key string) ([]string, error) SetSet(ctx context.Context, key string, members ...string) error AddSet(ctx context.Context, key string, members ...string) error RemSet(ctx context.Context, key string, members ...string) error Push(ctx context.Context, name, value string) error Pop(ctx context.Context, name string) (string, error) Remain(ctx context.Context, name string) (int64, error) AddDocuments(ctx context.Context, collection, subset string, documents []Document) error SearchDocuments(ctx context.Context, collection, subset string, query []string, begin, end int) ([]Document, error) DeleteDocuments(ctx context.Context, collection []string, condition DocumentCondition) error UpdateDocuments(ctx context.Context, collection []string, id string, patch DocumentPatch) error AddTimeSeriesPoints(ctx context.Context, points []TimeSeriesPoint) error GetTimeSeriesPoints(ctx context.Context, name string, begin, end time.Time) ([]TimeSeriesPoint, error) }
Database is the common interface for cache store.
type DocumentAggregator ¶
DocumentAggregator is used to keep the compatibility with the old recommender system and will be removed in the future. In old recommender system, the recommendation is genereated per category. In the new recommender system, the recommendation is generated globally.
func NewDocumentAggregator ¶
func NewDocumentAggregator(timestamp time.Time) *DocumentAggregator
func (*DocumentAggregator) Add ¶
func (aggregator *DocumentAggregator) Add(category string, values []string, scores []float64)
func (*DocumentAggregator) ToSlice ¶
func (aggregator *DocumentAggregator) ToSlice() []Document
type DocumentCondition ¶
func (*DocumentCondition) Check ¶
func (condition *DocumentCondition) Check() error
type DocumentPatch ¶
type MongoDB ¶ added in v0.4.0
type MongoDB struct { storage.TablePrefix // contains filtered or unexported fields }
func (MongoDB) AddDocuments ¶
func (MongoDB) AddTimeSeriesPoints ¶
func (m MongoDB) AddTimeSeriesPoints(ctx context.Context, points []TimeSeriesPoint) error
func (MongoDB) DeleteDocuments ¶
func (MongoDB) Get ¶ added in v0.4.0
func (m MongoDB) Get(ctx context.Context, name string) *ReturnValue
func (MongoDB) GetTimeSeriesPoints ¶
func (MongoDB) SearchDocuments ¶
func (MongoDB) UpdateDocuments ¶
type NoDatabase ¶
type NoDatabase struct{}
NoDatabase means no database used for cache.
func (NoDatabase) AddDocuments ¶
func (NoDatabase) AddTimeSeriesPoints ¶
func (NoDatabase) AddTimeSeriesPoints(_ context.Context, _ []TimeSeriesPoint) error
func (NoDatabase) Close ¶
func (NoDatabase) Close() error
Close method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) Delete ¶ added in v0.3.1
func (NoDatabase) Delete(_ context.Context, _ string) error
Delete method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) DeleteDocuments ¶
func (NoDatabase) DeleteDocuments(_ context.Context, _ []string, _ DocumentCondition) error
func (NoDatabase) Get ¶ added in v0.4.0
func (NoDatabase) Get(_ context.Context, _ string) *ReturnValue
Get method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) GetTimeSeriesPoints ¶
func (NoDatabase) GetTimeSeriesPoints(_ context.Context, _ string, _, _ time.Time) ([]TimeSeriesPoint, error)
func (NoDatabase) Init ¶ added in v0.4.0
func (NoDatabase) Init() error
Init method of NoDatabase returns ErrNoDatabase.
func (NoDatabase) Ping ¶ added in v0.4.10
func (NoDatabase) Ping() error
func (NoDatabase) Purge ¶ added in v0.4.7
func (NoDatabase) Purge() error
func (NoDatabase) SearchDocuments ¶
func (NoDatabase) UpdateDocuments ¶
func (NoDatabase) UpdateDocuments(_ context.Context, _ []string, _ string, _ DocumentPatch) error
type PostgresDocument ¶
type Redis ¶
type Redis struct { storage.TablePrefix // contains filtered or unexported fields }
Redis cache storage.
func (*Redis) AddDocuments ¶
func (*Redis) AddTimeSeriesPoints ¶
func (r *Redis) AddTimeSeriesPoints(ctx context.Context, points []TimeSeriesPoint) error
func (*Redis) DeleteDocuments ¶
func (*Redis) Get ¶ added in v0.4.0
func (r *Redis) Get(ctx context.Context, key string) *ReturnValue
Get returns a value from Redis.
func (*Redis) GetTimeSeriesPoints ¶
func (*Redis) SearchDocuments ¶
func (*Redis) UpdateDocuments ¶
type ReturnValue ¶ added in v0.4.0
type ReturnValue struct {
// contains filtered or unexported fields
}
func (*ReturnValue) Integer ¶ added in v0.4.0
func (r *ReturnValue) Integer() (int, error)
func (*ReturnValue) String ¶ added in v0.4.0
func (r *ReturnValue) String() (string, error)
type SQLDatabase ¶ added in v0.4.0
type SQLDatabase struct { storage.TablePrefix // contains filtered or unexported fields }
func (*SQLDatabase) AddDocuments ¶
func (*SQLDatabase) AddTimeSeriesPoints ¶
func (db *SQLDatabase) AddTimeSeriesPoints(ctx context.Context, points []TimeSeriesPoint) error
func (*SQLDatabase) Close ¶ added in v0.4.0
func (db *SQLDatabase) Close() error
func (*SQLDatabase) Delete ¶ added in v0.4.0
func (db *SQLDatabase) Delete(ctx context.Context, name string) error
func (*SQLDatabase) DeleteDocuments ¶
func (db *SQLDatabase) DeleteDocuments(ctx context.Context, collections []string, condition DocumentCondition) error
func (*SQLDatabase) Get ¶ added in v0.4.0
func (db *SQLDatabase) Get(ctx context.Context, name string) *ReturnValue
func (*SQLDatabase) GetTimeSeriesPoints ¶
func (db *SQLDatabase) GetTimeSeriesPoints(ctx context.Context, name string, begin, end time.Time) ([]TimeSeriesPoint, error)
func (*SQLDatabase) Init ¶ added in v0.4.0
func (db *SQLDatabase) Init() error
func (*SQLDatabase) Ping ¶ added in v0.4.10
func (db *SQLDatabase) Ping() error
func (*SQLDatabase) Purge ¶ added in v0.4.7
func (db *SQLDatabase) Purge() error
func (*SQLDatabase) Push ¶
func (db *SQLDatabase) Push(ctx context.Context, name, value string) error
func (*SQLDatabase) Scan ¶ added in v0.4.1
func (db *SQLDatabase) Scan(work func(string) error) error
func (*SQLDatabase) SearchDocuments ¶
func (*SQLDatabase) Set ¶ added in v0.4.0
func (db *SQLDatabase) Set(ctx context.Context, values ...Value) error
func (*SQLDatabase) UpdateDocuments ¶
func (db *SQLDatabase) UpdateDocuments(ctx context.Context, collections []string, id string, patch DocumentPatch) error
type SQLDocument ¶
type SQLSortedSet ¶ added in v0.4.4
type TimeSeriesPoint ¶
Click to show internal directories.
Click to hide internal directories.