added context schema, added the option to all queries
This commit is contained in:
parent
0f7c2c1e5a
commit
be1a5be5a4
2 changed files with 33 additions and 13 deletions
|
@ -1,6 +1,18 @@
|
||||||
(ns clj-druid.schemas
|
(ns clj-druid.schemas
|
||||||
(:require [schema.core :as s]))
|
(:require [schema.core :as s]))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(s/defschema context
|
||||||
|
"Druid Context option schema"
|
||||||
|
{(s/optional-key :timeout) Long
|
||||||
|
(s/optional-key :priority) Long
|
||||||
|
(s/optional-key :queryId) s/Any
|
||||||
|
(s/optional-key :useCache) Boolean
|
||||||
|
(s/optional-key :populateCache) Boolean
|
||||||
|
(s/optional-key :bySegment) Boolean
|
||||||
|
(s/optional-key :finalize) Boolean})
|
||||||
|
|
||||||
(s/defschema granularity
|
(s/defschema granularity
|
||||||
"Druid Granularity option schema"
|
"Druid Granularity option schema"
|
||||||
(s/enum :all
|
(s/enum :all
|
||||||
|
@ -76,7 +88,8 @@
|
||||||
"Druid queryType option query schema"
|
"Druid queryType option query schema"
|
||||||
{:type (s/enum :insensitive_contains :fragment)
|
{:type (s/enum :insensitive_contains :fragment)
|
||||||
(s/optional-key :value) (s/either String Long)
|
(s/optional-key :value) (s/either String Long)
|
||||||
(s/optional-key :values) [(s/either String Long)]})
|
(s/optional-key :values) [(s/either String Long)]
|
||||||
|
(s/optional-key :context) context})
|
||||||
|
|
||||||
(s/defschema SearchSort
|
(s/defschema SearchSort
|
||||||
"Druid queryType search sort schema"
|
"Druid queryType search sort schema"
|
||||||
|
@ -105,7 +118,8 @@
|
||||||
(s/optional-key :postAggregations) [postAggregationSchema]
|
(s/optional-key :postAggregations) [postAggregationSchema]
|
||||||
(s/optional-key :limitSpec) limitSpec
|
(s/optional-key :limitSpec) limitSpec
|
||||||
(s/optional-key :having) havingSchema
|
(s/optional-key :having) havingSchema
|
||||||
(s/optional-key :filter) filterSchema})
|
(s/optional-key :filter) filterSchema
|
||||||
|
(s/optional-key :context) context})
|
||||||
|
|
||||||
|
|
||||||
(s/defschema search
|
(s/defschema search
|
||||||
|
@ -117,7 +131,8 @@
|
||||||
:granularity granularity
|
:granularity granularity
|
||||||
:intervals intervalSchema
|
:intervals intervalSchema
|
||||||
(s/optional-key :searchDimensions) [String]
|
(s/optional-key :searchDimensions) [String]
|
||||||
(s/optional-key :filter) filterSchema})
|
(s/optional-key :filter) filterSchema
|
||||||
|
(s/optional-key :context) context})
|
||||||
|
|
||||||
(s/defschema select
|
(s/defschema select
|
||||||
"Select query schema"
|
"Select query schema"
|
||||||
|
@ -129,7 +144,8 @@
|
||||||
(s/optional-key :dimensions) [String]
|
(s/optional-key :dimensions) [String]
|
||||||
(s/optional-key :pagingSpec) s/Any
|
(s/optional-key :pagingSpec) s/Any
|
||||||
(s/optional-key :limitSpec) limitSpec
|
(s/optional-key :limitSpec) limitSpec
|
||||||
(s/optional-key :filter) filterSchema})
|
(s/optional-key :filter) filterSchema
|
||||||
|
(s/optional-key :context) context})
|
||||||
|
|
||||||
|
|
||||||
(s/defschema segmentMetadata
|
(s/defschema segmentMetadata
|
||||||
|
@ -138,7 +154,8 @@
|
||||||
:dataSource String
|
:dataSource String
|
||||||
:intervals intervalSchema
|
:intervals intervalSchema
|
||||||
(s/optional-key :toInclude) SegmentMetadataToInclude
|
(s/optional-key :toInclude) SegmentMetadataToInclude
|
||||||
(s/optional-key :merge) Boolean})
|
(s/optional-key :merge) Boolean
|
||||||
|
(s/optional-key :context) context})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -147,7 +164,8 @@
|
||||||
{:queryType (s/enum :timeBoundary)
|
{:queryType (s/enum :timeBoundary)
|
||||||
:dataSource String
|
:dataSource String
|
||||||
(s/optional-key :toInclude) SegmentMetadataToInclude
|
(s/optional-key :toInclude) SegmentMetadataToInclude
|
||||||
(s/optional-key :bound) (s/enum :minTime :maxTime)})
|
(s/optional-key :bound) (s/enum :minTime :maxTime)
|
||||||
|
(s/optional-key :context) context})
|
||||||
|
|
||||||
|
|
||||||
(s/defschema timeseries
|
(s/defschema timeseries
|
||||||
|
@ -158,7 +176,8 @@
|
||||||
:aggregations [aggregationSchema]
|
:aggregations [aggregationSchema]
|
||||||
:intervals intervalSchema
|
:intervals intervalSchema
|
||||||
(s/optional-key :postAggregations) [postAggregationSchema]
|
(s/optional-key :postAggregations) [postAggregationSchema]
|
||||||
(s/optional-key :filter) filterSchema})
|
(s/optional-key :filter) filterSchema
|
||||||
|
(s/optional-key :context) context})
|
||||||
|
|
||||||
|
|
||||||
(s/defschema topN
|
(s/defschema topN
|
||||||
|
@ -172,7 +191,8 @@
|
||||||
:aggregations [aggregationSchema]
|
:aggregations [aggregationSchema]
|
||||||
:intervals intervalSchema
|
:intervals intervalSchema
|
||||||
(s/optional-key :postAggregations) [postAggregationSchema]
|
(s/optional-key :postAggregations) [postAggregationSchema]
|
||||||
(s/optional-key :filter) filterSchema})
|
(s/optional-key :filter) filterSchema
|
||||||
|
(s/optional-key :context) context})
|
||||||
|
|
||||||
|
|
||||||
(def queries {:groupBy groupBy
|
(def queries {:groupBy groupBy
|
||||||
|
|
|
@ -4,14 +4,14 @@
|
||||||
[clj-druid.client :refer :all]))
|
[clj-druid.client :refer :all]))
|
||||||
|
|
||||||
|
|
||||||
(deftest test-connect-zookeeper
|
;; (deftest test-connect-zookeeper
|
||||||
(connect {:zk {:host "192.168.59.103:2181"
|
;; (connect {:zk {:host "192.168.59.103:2181"
|
||||||
:discovery-path "/discovery"
|
;; :discovery-path "/discovery"
|
||||||
:node-type "broker"}}))
|
;; :node-type "broker"}}))
|
||||||
|
|
||||||
|
|
||||||
(deftest test-connect-user
|
(deftest test-connect-user
|
||||||
(connect {:hosts ["http://localhost:8082/druid/v2/"]}))
|
(connect {:hosts ["http://m1.vigiglo.be:8085/druid/v2/"]}))
|
||||||
|
|
||||||
|
|
||||||
;(deftest test-zk-query
|
;(deftest test-zk-query
|
||||||
|
|
Loading…
Reference in a new issue