Kendra

Kendra is an intelligent search service, designed to mimic interacting with a human expert. You can use Kendra to search a source of data and you feel as though you’re interacting with a human expert on that data subject.

It supports a wide range of question types:

  • Factoid based questions, such as who, what and where: "who wrote this book?", "where is this particular place?" and so on.

  • Descriptive questions: Kendra has to understand all of the question text as well as the intent of the question, so what it is you’re trying to surface. An example might be "How do I backup my data?".

  • Keyword type questions: for questions like "what time is the keynote address?". "Address" doesn’t always have the same meaning, as it might refer to the postal address or the meaning of "address" might be "speech", a keynote speech of a conference. Kendra has to help to determine the intent of the question being asked. Kendra adds significant value by delivering this as a service.

Kendra is a backend-style service, something that provides functionality to something else. You’re most likely going to be interacting with Kendra using APIs.

Kendra integrates with lots of different AWS services such as IAM for security and the IAM Identity Center previously known as AWS SSO for various single sign-on services.

Indexes

An index which is a searchable block of data organized in an efficient way, the index is the thing that Kendra searches when dealing with user queries.

Supported Data Sources

Kendra connects to your existing data source and indexes from this location:

  • An S3 bucket

  • Amazon WorkDocs

  • RDS connectors:

    • Aurora (MySQL, PostgreSQL)

    • Amazon RDS (MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, IBM DB2)

  • Databases:

    • MySQL

    • Oracle Database

    • PostgreSQL

    • IBM DB2

  • Jira

  • Confluence

  • Google services:

    • Gmail

    • Google Workspace Drives

  • Microsoft

    • Exchange

    • OneDrive

    • SharePoint

    • Teams

    • SQL Server

    • Yammer

  • Kendra WebCrawler

  • FSx (SMB, NetApp ONTAP)

  • Salesforce

  • Alfresco

  • Zendesk

  • Slack

  • Drupal

  • GitHub

You configure Kendra to synchronize a data source with an index based on a schedule, this keeps the index current with all of the data that’s on the original data source.

Supported Document Types

You can have both structured, semi-structured and unstructured documents: structured documents might include things like FAQs and unstructured data might be things like HTML files, PDFs and text documents.

  • Unstructured:

    • PDF (Treated as HTML)

    • PPT

    • DOCX

    • TXT

  • Semi-structured:

    • HTML

    • XML

    • XSLT

    • Markdown (MD)

    • CSV (FAQ files are considered structured)

    • XLS and XSLX

    • JSON

    • RTF

  • Structured