Amazon Kendra

Managed Connection - Amazon Kendra

Amazon Kendra (https://aws.amazon.com/kendra/) is a highly accurate and easy to use enterprise search service thats powered by machine learning. Kendra delivers powerful natural language search capabilities. It’s also a fully managed Amazon Service.

Please follow the link below to learn more and get started with Amazon Kendra https://www.youtube.com/watch?v=ow5DFGICHoI

Configuration on Amazon Kendra console

(1) Create Index

An index provides search results for documents and frequently asked questions (FAQ) that it has indexed. An index can contain documents that are indexed from a data source, documents that are added directly to the index, and FAQs.

(2) Create Data Source

A data source is a location, such as an Amazon Simple Storage Service (Amazon S3) bucket, where you store the documents for indexing. Data sources can be automatically synchronized with an Amazon Kendra index so that new, updated, or deleted documents in the source repositories are included in searches. Supported data sources are:

  • Amazon S3 buckets

  • Amazon RDS for MySQL and Amazon RDS for PostgreSQL databases

  • Microsoft OneDrive for Business

  • Microsoft SharePoint Online

  • Salesforce sites

  • ServiceNow instances

Supported document formats are plain text, Microsoft Word, Microsoft PowerPoint, HTML, and PDF

VoiceWorx

The VoiceWorx platform allows for the rapid integration of Amazon Kendra to various voice channels such as, Alexa, Lex, Google Assistant and more.

To Configure Amazon Kendra, browse to: Integration > Connect System > Connect External System in the VoiceWorx platform and select options as shown below.

You can get your required AWS Credentials from the AWS IAM console. Visit Video: How to get Amazon (AWS) Key and Secret Make sure the AWS account has the required permissions to access Amazon Kendra.

Once you have saved settings, browse to: Custom Skills > Manage Skills and create a new Custom Skill by clicking on “Create New Custom Skill” button.

Now, create a Data Source for the Amazon Kendra by navigating to Data Source tab in the same screen.

Now you can create methods for the Kendra.

As of the publication date of this document, the VoiceWorx platform supports following Amazon Kendra methods,

  1. ListIndices

  2. Query

Below screenshot shows some of the methods already available.

Method: ListIndices

Parameters: Not required

It returns a list of indexes that are already created in Amazon Kendra.

Below is a sample response format – You should get response like this.

[

{

"CreatedAt": number,

"Edition": "string",

"Id": "string",

"Name": "string",

"Status": "string",

"UpdatedAt": number

}

]

Method: Query

Parameters:

Parameter

Sample Value

Info

IndexId

5D5C08F0-98B1-443F-8E9E-A1F67D551514

You can select from dropdown list of available indexes.

Query Text

Any search text

This is the query that you want to search.

Response: Below is a response syntax and you should get response like this. In sample shown below, “string”, number etc should be replaced by the actual value returned by Kendra.

{

"FacetResults": [

{

"DocumentAttributeKey": "string",

"DocumentAttributeValueCountPairs": [

{

"Count": number,

"DocumentAttributeValue": {

"DateValue": number,

"LongValue": number,

"StringListValue": [ "string" ],

"StringValue": "string"

}

}

]

}

],

"QueryId": "string",

"ResultItems": [

{

"AdditionalAttributes": [

{

"Key": "string",

"Value": {

"TextWithHighlightsValue": {

"Highlights": [

{

"BeginOffset": number,

"EndOffset": number,

"TopAnswer": boolean

}

],

"Text": "string"

}

},

"ValueType": "string"

}

],

"DocumentAttributes": [

{

"Key": "string",

"Value": {

"DateValue": number,

"LongValue": number,

"StringListValue": [ "string" ],

"StringValue": "string"

}

}

],

"DocumentExcerpt": {

"Highlights": [

{

"BeginOffset": number,

"EndOffset": number,

"TopAnswer": boolean

}

],

"Text": "string"

},

"DocumentId": "string",

"DocumentTitle": {

"Highlights": [

{

"BeginOffset": number,

"EndOffset": number,

"TopAnswer": boolean

}

],

"Text": "string"

},

"DocumentURI": "string",

"Id": "string",

"Type": "string"

}

],

"TotalNumberOfResults": number

}

Last updated