-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathquery-collection.ts
61 lines (53 loc) · 1.38 KB
/
query-collection.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import {
CollectionsClient,
withEndpoint,
withKeyCredentials,
} from "@sajari/sdk-node";
import program, { withDefaultOptions } from "./program";
import { handleError } from "./api-util";
withDefaultOptions(program);
program.requiredOption(
"--pipeline-name <pipeline_name>",
"pipeline name",
"my-pipeline"
);
program.requiredOption(
"--pipeline-version <pipeline_version>",
"pipeline version",
"42"
);
program.requiredOption("--query <query>", "search terms", "hello, world");
program.parse(process.argv);
async function main(
endpoint = program.endpoint,
collectionId = program.collectionId,
keyId = program.keyId,
keySecret = program.keySecret,
pipeline = {
name: program.pipelineName,
version: program.pipelineVersion,
},
q = program.query
) {
try {
const client = new CollectionsClient(
withEndpoint(endpoint),
withKeyCredentials(keyId, keySecret)
);
const resp = await client.queryCollection(collectionId, {
variables: {
q,
},
pipeline,
});
console.log("pipeline=", resp.pipeline);
console.log("variables=", resp.variables);
console.log("processing duration=", resp.processingDuration);
console.log("results=", resp.results);
console.log("aggregates=", resp.aggregates);
console.log("aggregate filters=", resp.aggregateFilters);
} catch (e) {
handleError(e);
}
}
main();