|
7 | 7 | import java.util.List; |
8 | 8 | import java.util.Map; |
9 | 9 |
|
10 | | -import org.typesense.model.AnalyticsRuleParameters; |
11 | | -import org.typesense.model.AnalyticsRuleParametersDestination; |
12 | | -import org.typesense.model.AnalyticsRuleParametersSource; |
13 | | -import org.typesense.model.AnalyticsRuleParametersSourceEvents; |
14 | | -import org.typesense.model.AnalyticsRuleSchema; |
15 | | -import org.typesense.model.AnalyticsRuleUpsertSchema; |
16 | 10 | import org.typesense.model.ApiKey; |
17 | 11 | import org.typesense.model.ApiKeySchema; |
18 | 12 | import org.typesense.model.ApiKeysResponse; |
|
35 | 29 | import org.typesense.model.SynonymSetSchema; |
36 | 30 | import org.typesense.model.SynonymSetsRetrieveSchema; |
37 | 31 | import org.typesense.resources.Node; |
| 32 | +import org.typesense.model.AnalyticsRuleCreate; |
| 33 | +import org.typesense.model.AnalyticsRuleCreateParams; |
| 34 | +import org.typesense.model.AnalyticsRule; |
| 35 | +import org.typesense.api.AnalyticsRules; |
38 | 36 |
|
39 | 37 | public class Helper { |
40 | 38 | private final Client client; |
@@ -104,6 +102,15 @@ public void createTestQueryCollection() throws Exception { |
104 | 102 | client.collections().create(collectionSchema); |
105 | 103 | } |
106 | 104 |
|
| 105 | + public void createTestQueryDocument() throws Exception { |
| 106 | + HashMap<String, Object> hmap = new HashMap<>(); |
| 107 | + hmap.put("q", "running shoes"); |
| 108 | + hmap.put("count", 42); |
| 109 | + hmap.put("id", "query1"); |
| 110 | + |
| 111 | + client.collections("queries").documents().create(hmap); |
| 112 | + } |
| 113 | + |
107 | 114 | public void createTestDocument() throws Exception { |
108 | 115 | String[] authors = { "shakspeare", "william" }; |
109 | 116 | HashMap<String, Object> hmap = new HashMap<>(); |
@@ -153,20 +160,36 @@ public void createTestSynonym() throws Exception { |
153 | 160 | client.collections("books").synonyms().upsert("coat-synonyms", synonym); |
154 | 161 | } |
155 | 162 |
|
156 | | - public void createTestAnalyticsRule() throws Exception { |
157 | | - AnalyticsRuleUpsertSchema analyticsRuleSchema = new AnalyticsRuleUpsertSchema() |
158 | | - .type(AnalyticsRuleUpsertSchema.TypeEnum.NOHITS_QUERIES) |
159 | | - .params(new AnalyticsRuleParameters() |
160 | | - .source(new AnalyticsRuleParametersSource() |
161 | | - .collections(Arrays.asList("books")) |
162 | | - .events(Arrays.asList( |
163 | | - new AnalyticsRuleParametersSourceEvents() |
164 | | - .type("search") |
165 | | - .name("products_search_event")))) |
166 | | - .destination(new AnalyticsRuleParametersDestination() |
167 | | - .collection("queries"))); |
| 163 | + public void createTestAnalyticsCollection() throws Exception { |
| 164 | + List<Field> fields = new ArrayList<>(); |
| 165 | + fields.add(new Field().name("rule_name").type(FieldTypes.STRING)); |
| 166 | + fields.add(new Field().name("event_type").type(FieldTypes.STRING)); |
| 167 | + fields.add(new Field().name("counter_value").type(FieldTypes.INT32)); |
| 168 | + fields.add(new Field().name("timestamp").type(FieldTypes.INT64)); |
168 | 169 |
|
169 | | - client.analytics().rules().upsert("analytics-rule", analyticsRuleSchema); |
| 170 | + CollectionSchema collectionSchema = new CollectionSchema(); |
| 171 | + collectionSchema.name("analytics_data").fields(fields); |
| 172 | + |
| 173 | + client.collections().create(collectionSchema); |
| 174 | + } |
| 175 | + |
| 176 | + public String createTestAnalyticsRule() throws Exception { |
| 177 | + String ruleName = "analytics-rule-" + System.currentTimeMillis(); |
| 178 | + |
| 179 | + AnalyticsRuleCreate analyticsRule = new AnalyticsRuleCreate() |
| 180 | + .name(ruleName) |
| 181 | + .type(AnalyticsRuleCreate.TypeEnum.COUNTER) |
| 182 | + .collection("analytics_data") |
| 183 | + .eventType("click") |
| 184 | + .params(new AnalyticsRuleCreateParams() |
| 185 | + .counterField("num_employees") |
| 186 | + .weight(1)); |
| 187 | + |
| 188 | + List<AnalyticsRuleCreate> rules = new ArrayList<>(); |
| 189 | + rules.add(analyticsRule); |
| 190 | + |
| 191 | + client.analytics().rules().create(rules); |
| 192 | + return ruleName; |
170 | 193 | } |
171 | 194 |
|
172 | 195 | public void createTestStopwordsSet() throws Exception { |
@@ -213,8 +236,11 @@ public void teardown() throws Exception { |
213 | 236 | } |
214 | 237 |
|
215 | 238 | AnalyticsRules analyticsRules = client.analytics().rules(); |
216 | | - for (AnalyticsRuleSchema r : analyticsRules.retrieve().getRules()) { |
217 | | - client.analytics().rules(r.getName()).delete(); |
| 239 | + List<AnalyticsRule> rules = analyticsRules.retrieve(); |
| 240 | + if (rules != null) { |
| 241 | + for (AnalyticsRule r : rules) { |
| 242 | + client.analytics().rules(r.getName()).delete(); |
| 243 | + } |
218 | 244 | } |
219 | 245 |
|
220 | 246 | ApiKeysResponse apiKeysResponse = client.keys().retrieve(); |
|
0 commit comments