Skip to content

Commit 2114631

Browse files
densumeshskeptrunedev
authored andcommitted
feature: add ability to filter out collapsed queries for count queries
1 parent 5e7717d commit 2114631

6 files changed

Lines changed: 20 additions & 4 deletions

File tree

clients/ts-sdk/openapi.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17727,6 +17727,10 @@
1772717727
"type"
1772817728
],
1772917729
"properties": {
17730+
"count_collapsed_queries": {
17731+
"type": "boolean",
17732+
"nullable": true
17733+
},
1773017734
"filter": {
1773117735
"allOf": [
1773217736
{

clients/ts-sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"files": [
1818
"dist"
1919
],
20-
"version": "0.0.92",
20+
"version": "0.0.93",
2121
"license": "MIT",
2222
"scripts": {
2323
"lint": "eslint 'src/**/*.ts'",

clients/ts-sdk/src/types.gen.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3376,6 +3376,7 @@ export type SearchAnalytics = {
33763376
sort_order?: ((SortOrder) | null);
33773377
type: 'search_queries';
33783378
} | {
3379+
count_collapsed_queries?: (boolean) | null;
33793380
filter?: ((SearchAnalyticsFilter) | null);
33803381
type: 'count_queries';
33813382
} | {

server/src/data/models.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7695,6 +7695,7 @@ pub enum SearchAnalytics {
76957695
#[schema(title = "CountQueries")]
76967696
CountQueries {
76977697
filter: Option<SearchAnalyticsFilter>,
7698+
count_collapsed_queries: Option<bool>,
76987699
},
76997700
#[schema(title = "QueryDetails")]
77007701
QueryDetails { request_id: uuid::Uuid },

server/src/handlers/analytics_handler.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,10 +284,14 @@ pub async fn get_search_analytics(
284284

285285
SearchAnalyticsResponse::QueryDetails(query)
286286
}
287-
SearchAnalytics::CountQueries { filter } => {
287+
SearchAnalytics::CountQueries {
288+
filter,
289+
count_collapsed_queries,
290+
} => {
288291
let count_queries = get_query_counts_query(
289292
dataset_org_plan_sub.dataset.id,
290293
filter,
294+
count_collapsed_queries,
291295
clickhouse_client.get_ref(),
292296
)
293297
.await?;

server/src/operators/analytics_operator.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -432,16 +432,22 @@ pub struct QueryCountResponse {
432432
pub async fn get_query_counts_query(
433433
dataset_id: uuid::Uuid,
434434
filter: Option<SearchAnalyticsFilter>,
435+
count_collapsed_queries: Option<bool>,
435436
clickhouse_client: &clickhouse::Client,
436437
) -> Result<QueryCountResponse, ServiceError> {
437-
let mut query_string = String::from(
438+
let mut query_string = format!(
438439
"SELECT
439440
search_type,
440441
JSONExtractString(request_params, 'search_type') as search_method,
441442
COUNT(*) as search_count
442443
FROM
443444
search_queries
444-
WHERE dataset_id = ?",
445+
WHERE dataset_id = ? {}",
446+
if count_collapsed_queries.unwrap_or(false) {
447+
"AND is_duplicate = 0"
448+
} else {
449+
""
450+
},
445451
);
446452

447453
if let Some(filter) = filter {

0 commit comments

Comments
 (0)