code for article pfeilbr/aws-kendra-playground
learn Amazon Kendra, intelligent search service powered by machine learning
Concepts
Index - two types. document (unstructured) and FAQ (structured)
- You can add documents directly to an index using the BatchPutDocument operation
- You can add questions and answers (FAQs) directly to your index using the console or the CreateFaq operation
Data Source - s3, salesforce documents, sharepoint, custom
Documents - html, ppt, doc, pdf, txt
- custom fields - can define custom fields of types: Date, Number, String, String List
Queries - natural language (NLP), keyword queries, Factoid questions — Simple who, what, when, or where questions.
- Facets are scoped views of a set of search results
- By default, Query returns all search results. To filter responses, you can perform logical operations on the document attributes.
Tags - can assign tags to indexes, data sources, and FAQs
default encryption at rest with customer of AWS KMS keys
General Steps
- create index
- add data sources for index
- synchronize the data source
- query/search the index
Editions
- Developer
- Enterprise
You specify Edition: DEVELOPER_EDITION | ENTERPRISE_EDITION
when you create an index
Creating Example Index
see main.py
sam deploy --guided
# copy outputs into `.env`
python main.py
Resources
- Amazon Kendra Docs
- Getting started (AWS SDK for Python (Boto3)) - Amazon Kendra - shows create index, create data source for index, sync data source, all while waiting for each step to complete in between
- Deploying Amazon Kendra - pre-built react frontend for kendra. provides
<search />
react component - aws-samples/enterprise-search-with-amazon-kendra-workshop
- Kendra | Using a custom data source
Twitter • Reddit