in src/utils/elasticsearch.js [181:222]
export function queryTranscriptKeyword(keyword) {
return Auth.currentCredentials().then(creds => {
const lambda = new AWS.Lambda({
region: defaultRegion,
credentials: Auth.essentialCredentials(creds),
});
const params = {
FunctionName: config.searchFunctionName,
InvocationType: 'RequestResponse',
};
const esParams = {
index: ELASTIC_SEARCH_INDEX_NAMES.TRANSCRIPT,
type: '_doc',
body: {
size: config.maxRecords,
query: {
match: {
Transcript: {
query: keyword,
operator: 'and',
},
},
},
},
output: [],
};
params['Payload'] = Buffer.from(JSON.stringify(esParams));
return lambda
.invoke(params)
.promise()
.then((data) => {
const body = JSON.parse(data.Payload).body;
if (body === undefined || body === []) {
return [];
}
return JSON.parse(data.Payload).body.Records;
});
});
}