|
@@ -1,5 +1,5 @@
|
|
|
standard aggs
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS count=COUNT(),
|
|
@@ -17,7 +17,7 @@ count:long | sum:long | avg:double | count_distinct:long | category:keyw
|
|
|
;
|
|
|
|
|
|
values aggs
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS values=MV_SORT(VALUES(message)),
|
|
@@ -33,7 +33,7 @@ values:keyword | top
|
|
|
;
|
|
|
|
|
|
mv
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM mv_sample_data
|
|
|
| STATS COUNT(), SUM(event_duration) BY category=CATEGORIZE(message)
|
|
@@ -48,7 +48,7 @@ COUNT():long | SUM(event_duration):long | category:keyword
|
|
|
;
|
|
|
|
|
|
row mv
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
ROW message = ["connected to a", "connected to b", "disconnected"], str = ["a", "b", "c"]
|
|
|
| STATS COUNT(), VALUES(str) BY category=CATEGORIZE(message)
|
|
@@ -61,7 +61,7 @@ COUNT():long | VALUES(str):keyword | category:keyword
|
|
|
;
|
|
|
|
|
|
skips stopwords
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
ROW message = ["Mon Tue connected to a", "Jul Aug connected to b September ", "UTC connected GMT to c UTC"]
|
|
|
| STATS COUNT() BY category=CATEGORIZE(message)
|
|
@@ -73,7 +73,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
with multiple indices
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
required_capability: union_types
|
|
|
|
|
|
FROM sample_data*
|
|
@@ -88,7 +88,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
mv with many values
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM employees
|
|
|
| STATS COUNT() BY category=CATEGORIZE(job_positions)
|
|
@@ -105,7 +105,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
mv with many values and SUM
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM employees
|
|
|
| STATS SUM(languages) BY category=CATEGORIZE(job_positions)
|
|
@@ -120,7 +120,7 @@ SUM(languages):long | category:keyword
|
|
|
;
|
|
|
|
|
|
mv with many values and nulls and SUM
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM employees
|
|
|
| STATS SUM(languages) BY category=CATEGORIZE(job_positions)
|
|
@@ -134,7 +134,7 @@ SUM(languages):long | category:keyword
|
|
|
;
|
|
|
|
|
|
mv via eval
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| EVAL message = MV_APPEND(message, "Banana")
|
|
@@ -150,7 +150,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
mv via eval const
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| EVAL message = ["Banana", "Bread"]
|
|
@@ -164,7 +164,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
mv via eval const without aliases
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| EVAL message = ["Banana", "Bread"]
|
|
@@ -178,7 +178,7 @@ COUNT():long | CATEGORIZE(message):keyword
|
|
|
;
|
|
|
|
|
|
mv const in parameter
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS COUNT() BY c = CATEGORIZE(["Banana", "Bread"])
|
|
@@ -191,7 +191,7 @@ COUNT():long | c:keyword
|
|
|
;
|
|
|
|
|
|
agg alias shadowing
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS c = COUNT() BY c = CATEGORIZE(["Banana", "Bread"])
|
|
@@ -206,7 +206,7 @@ c:keyword
|
|
|
;
|
|
|
|
|
|
chained aggregations using categorize
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS COUNT() BY category=CATEGORIZE(message)
|
|
@@ -221,7 +221,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
stats without aggs
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS BY category=CATEGORIZE(message)
|
|
@@ -235,7 +235,7 @@ category:keyword
|
|
|
;
|
|
|
|
|
|
text field
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM hosts
|
|
|
| STATS COUNT() BY category=CATEGORIZE(host_group)
|
|
@@ -253,7 +253,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
on TO_UPPER
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS COUNT() BY category=CATEGORIZE(TO_UPPER(message))
|
|
@@ -267,7 +267,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
on CONCAT
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS COUNT() BY category=CATEGORIZE(CONCAT(message, " banana"))
|
|
@@ -281,7 +281,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
on CONCAT with unicode
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS COUNT() BY category=CATEGORIZE(CONCAT(message, " 👍🏽😊"))
|
|
@@ -295,7 +295,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
on REVERSE(CONCAT())
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS COUNT() BY category=CATEGORIZE(REVERSE(CONCAT(message, " 👍🏽😊")))
|
|
@@ -309,7 +309,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
and then TO_LOWER
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS COUNT() BY category=CATEGORIZE(message)
|
|
@@ -324,7 +324,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
on const empty string
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS COUNT() BY category=CATEGORIZE("")
|
|
@@ -336,7 +336,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
on const empty string from eval
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| EVAL x = ""
|
|
@@ -349,7 +349,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
on null
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| EVAL x = null
|
|
@@ -362,7 +362,7 @@ COUNT():long | SUM(event_duration):long | category:keyword
|
|
|
;
|
|
|
|
|
|
on null string
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| EVAL x = null::string
|
|
@@ -375,7 +375,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
filtering out all data
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| WHERE @timestamp < "2023-10-23T00:00:00Z"
|
|
@@ -387,7 +387,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
filtering out all data with constant
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS COUNT() BY category=CATEGORIZE(message)
|
|
@@ -398,7 +398,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
drop output columns
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS count=COUNT() BY category=CATEGORIZE(message)
|
|
@@ -413,7 +413,7 @@ x:integer
|
|
|
;
|
|
|
|
|
|
category value processing
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
ROW message = ["connected to a", "connected to b", "disconnected"]
|
|
|
| STATS COUNT() BY category=CATEGORIZE(message)
|
|
@@ -427,7 +427,7 @@ COUNT():long | category:keyword
|
|
|
;
|
|
|
|
|
|
row aliases
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
ROW message = "connected to xyz"
|
|
|
| EVAL x = message
|
|
@@ -441,7 +441,7 @@ COUNT():long | category:keyword | y:keyword
|
|
|
;
|
|
|
|
|
|
from aliases
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| EVAL x = message
|
|
@@ -457,7 +457,7 @@ COUNT():long | category:keyword | y:keyword
|
|
|
;
|
|
|
|
|
|
row aliases with keep
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
ROW message = "connected to xyz"
|
|
|
| EVAL x = message
|
|
@@ -473,7 +473,7 @@ COUNT():long | y:keyword
|
|
|
;
|
|
|
|
|
|
from aliases with keep
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| EVAL x = message
|
|
@@ -491,7 +491,7 @@ COUNT():long | y:keyword
|
|
|
;
|
|
|
|
|
|
row rename
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
ROW message = "connected to xyz"
|
|
|
| RENAME message as x
|
|
@@ -505,7 +505,7 @@ COUNT():long | y:keyword
|
|
|
;
|
|
|
|
|
|
from rename
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| RENAME message as x
|
|
@@ -521,7 +521,7 @@ COUNT():long | y:keyword
|
|
|
;
|
|
|
|
|
|
row drop
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
ROW message = "connected to a"
|
|
|
| STATS c = COUNT() BY category=CATEGORIZE(message)
|
|
@@ -534,7 +534,7 @@ c:long
|
|
|
;
|
|
|
|
|
|
from drop
|
|
|
-required_capability: categorize_v4
|
|
|
+required_capability: categorize_v5
|
|
|
|
|
|
FROM sample_data
|
|
|
| STATS c = COUNT() BY category=CATEGORIZE(message)
|
|
@@ -547,3 +547,48 @@ c:long
|
|
|
3
|
|
|
3
|
|
|
;
|
|
|
+
|
|
|
+categorize in aggs inside function
|
|
|
+required_capability: categorize_v5
|
|
|
+
|
|
|
+FROM sample_data
|
|
|
+ | STATS COUNT(), x = MV_APPEND(category, category) BY category=CATEGORIZE(message)
|
|
|
+ | SORT x
|
|
|
+ | KEEP `COUNT()`, x
|
|
|
+;
|
|
|
+
|
|
|
+COUNT():long | x:keyword
|
|
|
+ 3 | [.*?Connected.+?to.*?,.*?Connected.+?to.*?]
|
|
|
+ 3 | [.*?Connection.+?error.*?,.*?Connection.+?error.*?]
|
|
|
+ 1 | [.*?Disconnected.*?,.*?Disconnected.*?]
|
|
|
+;
|
|
|
+
|
|
|
+categorize in aggs same as grouping inside function
|
|
|
+required_capability: categorize_v5
|
|
|
+
|
|
|
+FROM sample_data
|
|
|
+ | STATS COUNT(), x = MV_APPEND(CATEGORIZE(message), `CATEGORIZE(message)`) BY CATEGORIZE(message)
|
|
|
+ | SORT x
|
|
|
+ | KEEP `COUNT()`, x
|
|
|
+;
|
|
|
+
|
|
|
+COUNT():long | x:keyword
|
|
|
+ 3 | [.*?Connected.+?to.*?,.*?Connected.+?to.*?]
|
|
|
+ 3 | [.*?Connection.+?error.*?,.*?Connection.+?error.*?]
|
|
|
+ 1 | [.*?Disconnected.*?,.*?Disconnected.*?]
|
|
|
+;
|
|
|
+
|
|
|
+categorize in aggs same as grouping inside function with explicit alias
|
|
|
+required_capability: categorize_v5
|
|
|
+
|
|
|
+FROM sample_data
|
|
|
+ | STATS COUNT(), x = MV_APPEND(CATEGORIZE(message), category) BY category=CATEGORIZE(message)
|
|
|
+ | SORT x
|
|
|
+ | KEEP `COUNT()`, x
|
|
|
+;
|
|
|
+
|
|
|
+COUNT():long | x:keyword
|
|
|
+ 3 | [.*?Connected.+?to.*?,.*?Connected.+?to.*?]
|
|
|
+ 3 | [.*?Connection.+?error.*?,.*?Connection.+?error.*?]
|
|
|
+ 1 | [.*?Disconnected.*?,.*?Disconnected.*?]
|
|
|
+;
|