pub.chive.admin.getSearchAnalytics
Schema Diff
+96 -5
Compatibility Analysis
Breaking Changes Detected
16 breaking changes, 26 non-breaking changes.
Breaking Changes (16)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution", kind: "prop", name: Some("relevanceGradeDistribution") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.clicks", kind: "prop", name: Some("clicks") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.topQueries", kind: "prop", name: Some("topQueries") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.positionDistribution", kind: "prop", name: Some("positionDistribution") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.impressions", kind: "prop", name: Some("impressions") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.totalQueries", kind: "prop", name: Some("totalQueries") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.zeroResultCount", kind: "prop", name: Some("zeroResultCount") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount", src: "pub.chive.admin.getSearchAnalytics#positionCount", tgt: "pub.chive.admin.getSearchAnalytics#positionCount.count", kind: "prop", name: Some("count") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount", src: "pub.chive.admin.getSearchAnalytics#positionCount", tgt: "pub.chive.admin.getSearchAnalytics#positionCount.position", kind: "prop", name: Some("position") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.clickCount", kind: "prop", name: Some("clickCount") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.query", kind: "prop", name: Some("query") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.impressionCount", kind: "prop", name: Some("impressionCount") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", src: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.count", kind: "prop", name: Some("count") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", src: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.relevanceGrade", kind: "prop", name: Some("relevanceGrade") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.totalSearches", kind: "prop", name: Some("totalSearches") }
- RemovedVertex RemovedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.totalSearches" }
Non-Breaking Changes (26)
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount.count" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount.position" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.count" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.relevanceGrade" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.clickCount" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.impressionCount" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.query" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.clicks" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.impressions" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.positionDistribution" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.topQueries" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.topQueries:items" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.totalQueries" }
- AddedVertex AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.zeroResultCount" }
- AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.positionDistribution", tgt: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items", tgt: "pub.chive.admin.getSearchAnalytics#positionCount", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution", tgt: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.topQueries", tgt: "pub.chive.admin.getSearchAnalytics:output.topQueries:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.topQueries:items", tgt: "pub.chive.admin.getSearchAnalytics#topQuery", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.totalSearches" }
Added Elements
AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount.count" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount.position" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.count" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.relevanceGrade" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.clickCount" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.impressionCount" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery.query" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.clicks" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.impressions" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.positionDistribution" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.topQueries" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.topQueries:items" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.totalQueries" }AddedVertex { vertex_id: "pub.chive.admin.getSearchAnalytics:output.zeroResultCount" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.clickCount", kind: "prop", name: Some("clickCount") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.query", kind: "prop", name: Some("query") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#topQuery", src: "pub.chive.admin.getSearchAnalytics#topQuery", tgt: "pub.chive.admin.getSearchAnalytics#topQuery.impressionCount", kind: "prop", name: Some("impressionCount") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution", kind: "prop", name: Some("relevanceGradeDistribution") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.clicks", kind: "prop", name: Some("clicks") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.topQueries", kind: "prop", name: Some("topQueries") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.positionDistribution", kind: "prop", name: Some("positionDistribution") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.impressions", kind: "prop", name: Some("impressions") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.totalQueries", kind: "prop", name: Some("totalQueries") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.zeroResultCount", kind: "prop", name: Some("zeroResultCount") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount", src: "pub.chive.admin.getSearchAnalytics#positionCount", tgt: "pub.chive.admin.getSearchAnalytics#positionCount.count", kind: "prop", name: Some("count") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#positionCount", src: "pub.chive.admin.getSearchAnalytics#positionCount", tgt: "pub.chive.admin.getSearchAnalytics#positionCount.position", kind: "prop", name: Some("position") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", src: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.count", kind: "prop", name: Some("count") }
- Breaking: RequiredEdgeAdded { vertex_id: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", src: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount.relevanceGrade", kind: "prop", name: Some("relevanceGrade") }
- Breaking: RequiredEdgeRemoved { vertex_id: "pub.chive.admin.getSearchAnalytics:output", src: "pub.chive.admin.getSearchAnalytics:output", tgt: "pub.chive.admin.getSearchAnalytics:output.totalSearches", kind: "prop", name: Some("totalSearches") }
- Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.positionDistribution", tgt: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.positionDistribution:items", tgt: "pub.chive.admin.getSearchAnalytics#positionCount", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution", tgt: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.relevanceGradeDistribution:items", tgt: "pub.chive.admin.getSearchAnalytics#relevanceGradeCount", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.topQueries", tgt: "pub.chive.admin.getSearchAnalytics:output.topQueries:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "pub.chive.admin.getSearchAnalytics:output.topQueries:items", tgt: "pub.chive.admin.getSearchAnalytics#topQuery", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Get search usage analytics",
6
6
"errors": [
7
7
{
8
8
"name": "AuthenticationRequired"
9
9
},
10
10
{
11
11
"name": "AdminRequired"
12
12
}
13
13
],
14
14
"output": {
15
15
"encoding": "application/json",
16
16
"schema": {
17
+
"description": "Search analytics aggregates. The response also carries `ctr`, the click-through rate as a fraction of impressions, and `avgDwellTimeMs`, the mean dwell time or null when nothing has been measured. Neither is declared here: Lexicon has no float type, `unknown` means an object rather than any value, and a declared integer rejects both a fraction and null. Undeclared properties pass validation and reach the client unchanged, so declaring them as integers would break the endpoint rather than describe it.",
17
18
"properties": {
19
+
"clicks": {
20
+
"description": "Results clicked.",
21
+
"type": "integer"
22
+
},
23
+
"impressions": {
24
+
"description": "Results shown.",
25
+
"type": "integer"
26
+
},
27
+
"positionDistribution": {
28
+
"items": {
29
+
"ref": "#positionCount",
30
+
"type": "ref"
31
+
},
32
+
"type": "array"
33
+
},
34
+
"relevanceGradeDistribution": {
35
+
"items": {
36
+
"ref": "#relevanceGradeCount",
37
+
"type": "ref"
38
+
},
39
+
"type": "array"
40
+
},
18
41
"timestamp": {
19
-
"description": "Analytics snapshot timestamp",
20
42
"format": "datetime",
21
43
"type": "string"
22
44
},
45
+
"topQueries": {
46
+
"items": {
47
+
"ref": "#topQuery",
48
+
"type": "ref"
49
+
},
50
+
"type": "array"
51
+
},
23
52
"totalClicks": {
24
-
"description": "Total number of search result clicks",
53
+
"description": "Result clicks recorded.",
25
54
"type": "integer"
26
55
},
27
-
"totalSearches": {
28
-
"description": "Total number of search queries",
56
+
"totalQueries": {
57
+
"description": "Distinct search queries recorded.",
29
58
"type": "integer"
59
+
},
60
+
"zeroResultCount": {
61
+
"description": "Searches that returned nothing.",
62
+
"type": "integer"
30
63
}
31
64
},
32
65
"required": [
33
-
"totalSearches",
66
+
"totalQueries",
34
67
"totalClicks",
68
+
"impressions",
69
+
"clicks",
70
+
"positionDistribution",
71
+
"topQueries",
72
+
"zeroResultCount",
73
+
"relevanceGradeDistribution",
35
74
"timestamp"
36
75
],
37
76
"type": "object"
38
77
}
39
78
},
40
79
"parameters": {
41
80
"properties": {},
42
81
"type": "params"
43
82
},
44
83
"type": "query"
84
+
},
85
+
"positionCount": {
86
+
"description": "Impressions at one result position.",
87
+
"properties": {
88
+
"count": {
89
+
"type": "integer"
90
+
},
91
+
"position": {
92
+
"type": "integer"
93
+
}
94
+
},
95
+
"required": [
96
+
"position",
97
+
"count"
98
+
],
99
+
"type": "object"
100
+
},
101
+
"relevanceGradeCount": {
102
+
"description": "Judgements at one relevance grade.",
103
+
"properties": {
104
+
"count": {
105
+
"type": "integer"
106
+
},
107
+
"relevanceGrade": {
108
+
"type": "integer"
109
+
}
110
+
},
111
+
"required": [
112
+
"relevanceGrade",
113
+
"count"
114
+
],
115
+
"type": "object"
116
+
},
117
+
"topQuery": {
118
+
"description": "A query with its impression and click counts.",
119
+
"properties": {
120
+
"clickCount": {
121
+
"type": "integer"
122
+
},
123
+
"impressionCount": {
124
+
"type": "integer"
125
+
},
126
+
"query": {
127
+
"type": "string"
128
+
}
129
+
},
130
+
"required": [
131
+
"query",
132
+
"impressionCount",
133
+
"clickCount"
134
+
],
135
+
"type": "object"
45
136
}
46
137
},
47
138
"id": "pub.chive.admin.getSearchAnalytics",
48
139
"lexicon": 1,
49
140
"revision": 1
50
141
}