mirror of
https://github.com/typesense/typesense.git
synced 2025-05-18 12:42:50 +08:00
update analytics store key (#1908)
This commit is contained in:
parent
9255c4e459
commit
76f9c02944
@ -223,7 +223,7 @@ public:
|
||||
|
||||
bool write_to_db(const nlohmann::json& payload);
|
||||
|
||||
void get_last_N_events(const std::string& userid, const std::string& event_type, uint32_t N, std::vector<std::string>& values);
|
||||
void get_last_N_events(const std::string& userid, const std::string& event_name, uint32_t N, std::vector<std::string>& values);
|
||||
|
||||
#ifdef TEST_BUILD
|
||||
std::unordered_map<std::string, std::vector<event_t>> get_log_events() {
|
||||
|
@ -780,10 +780,10 @@ bool AnalyticsManager::write_to_db(const nlohmann::json& payload) {
|
||||
if(analytics_store) {
|
||||
for(const auto& event: payload) {
|
||||
std::string userid = event["user_id"].get<std::string>();
|
||||
std::string event_type = event["type"].get<std::string>();
|
||||
std::string event_name = event["name"].get<std::string>();
|
||||
std::string ts = StringUtils::serialize_uint64_t(event["timestamp"].get<uint64_t>());
|
||||
|
||||
std::string key = userid+ "%" + event_type+ "%" + ts;
|
||||
std::string key = userid + "%" + event_name + "%" + ts;
|
||||
|
||||
bool inserted = analytics_store->insert(key, event.dump());
|
||||
if(!inserted) {
|
||||
@ -799,7 +799,7 @@ bool AnalyticsManager::write_to_db(const nlohmann::json& payload) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void AnalyticsManager::get_last_N_events(const std::string& userid, const std::string& event_type, uint32_t N,
|
||||
void AnalyticsManager::get_last_N_events(const std::string& userid, const std::string& event_name, uint32_t N,
|
||||
std::vector<std::string>& values) {
|
||||
std::string user_id = userid;
|
||||
|
||||
@ -807,8 +807,8 @@ void AnalyticsManager::get_last_N_events(const std::string& userid, const std::s
|
||||
user_id.erase(std::remove(user_id.begin(), user_id.end(), '%'), user_id.end());
|
||||
|
||||
auto userid_prefix = user_id + "%";
|
||||
if(event_type != "*") {
|
||||
userid_prefix += event_type;
|
||||
if(event_name != "*") {
|
||||
userid_prefix += event_name;
|
||||
}
|
||||
|
||||
analytics_store->get_last_N_values(userid_prefix, N, values);
|
||||
|
@ -1911,7 +1911,7 @@ TEST_F(AnalyticsManagerTest, AnalyticsStoreGetLastN) {
|
||||
|
||||
//get last 5 visit events for user_id 14
|
||||
values.clear();
|
||||
analyticsManager.get_last_N_events("14", "visit", 5, values);
|
||||
analyticsManager.get_last_N_events("14", "AV", 5, values);
|
||||
ASSERT_EQ(5, values.size());
|
||||
for(int i = 0; i < 5; ++i) {
|
||||
parsed_json = nlohmann::json::parse(values[i]);
|
||||
@ -1921,7 +1921,7 @@ TEST_F(AnalyticsManagerTest, AnalyticsStoreGetLastN) {
|
||||
|
||||
//get last 5 click events for user_id 14
|
||||
values.clear();
|
||||
analyticsManager.get_last_N_events("14", "click", 5, values);
|
||||
analyticsManager.get_last_N_events("14", "AB", 5, values);
|
||||
ASSERT_EQ(5, values.size());
|
||||
for(int i = 0; i < 5; ++i) {
|
||||
parsed_json = nlohmann::json::parse(values[i]);
|
||||
@ -1954,7 +1954,7 @@ TEST_F(AnalyticsManagerTest, AnalyticsStoreGetLastN) {
|
||||
ASSERT_TRUE(analyticsManager.write_to_db(payload));
|
||||
|
||||
values.clear();
|
||||
analyticsManager.get_last_N_events("14", "click", 10, values);
|
||||
analyticsManager.get_last_N_events("14", "AB", 10, values);
|
||||
ASSERT_EQ(10, values.size());
|
||||
for(int i = 0; i < 10; ++i) {
|
||||
parsed_json = nlohmann::json::parse(values[i]);
|
||||
@ -1989,7 +1989,7 @@ TEST_F(AnalyticsManagerTest, AnalyticsStoreGetLastN) {
|
||||
ASSERT_TRUE(analyticsManager.write_to_db(payload));
|
||||
|
||||
values.clear();
|
||||
analyticsManager.get_last_N_events("14_U1", "click", 10, values);
|
||||
analyticsManager.get_last_N_events("14_U1", "AB", 10, values);
|
||||
ASSERT_EQ(5, values.size());
|
||||
for(int i = 0; i < 5; ++i) {
|
||||
parsed_json = nlohmann::json::parse(values[i]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user