export function queryTranscriptKeyword()

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;
      });
  });
}