/
generate-pipelines.ts
59 lines (50 loc) · 1.36 KB
/
generate-pipelines.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
import {
PipelinesClient,
withEndpoint,
withKeyCredentials,
} from "@sajari/sdk-node";
import program, { withDefaultOptions } from "./program";
import { handleError } from "./api-util";
withDefaultOptions(program);
program.requiredOption(
"--searchable-fields <searchable_fields>",
"searchable fields",
"title,company,description"
);
program.requiredOption(
"--query-training-fields <query_training_fields>",
"query training fields",
""
);
program.parse(process.argv);
async function main(
endpoint = program.endpoint,
collectionId = program.collectionId,
keyId = program.keyId,
keySecret = program.keySecret,
searchableFields = program.searchableFields,
queryTrainingFields = program.queryTrainingFields
) {
try {
const client = new PipelinesClient(
collectionId,
withEndpoint(endpoint),
withKeyCredentials(keyId, keySecret)
);
const resp = await client.generatePipelines(collectionId, {
searchableFields: searchableFields ? searchableFields.split(",") : [],
queryTrainingFields: queryTrainingFields
? queryTrainingFields.split(",")
: [],
});
console.log(
`record pipeline=${JSON.stringify(resp.recordPipeline, null, " ")}`
);
console.log(
`query pipeline=${JSON.stringify(resp.queryPipeline, null, " ")}`
);
} catch (e) {
handleError(e);
}
}
main();