Table of Contents
KendraSearchProvider#
KendraSearchProvider implements the SearchProvider interface to allow you to use AWS Kendra to index your wiki pages and attached documents.
Requirements#
- AWS Account
- You will need to have an AWS Account. Follow these steps to do so.
- AWS Kendra Index
- To index your pages and attachments you will need to have a AWS Kendra Index and its associated AWS Kendra Datasource. You can find the index-and-datasource.yaml CloudFormation stack to create the required AWS resources.
- AWS Credentials
- In order for JSPWiki to access your Kendra Index, you will need to configure the AWS credentials JSPWiki will use. You have several way to do that:
- For a JSPWiki deployed in AWS consider using an IAM Role attached to your EC2 Instance / ECS Container, etc. You can use the jspwiki-iam-role.yaml CloudFormation stack to create the required AWS resources.
- For a JSPWiki deployed on-premise you can use all the normal methods (.aws/credentials, environment variables, etc.)
- If you are using Docker, you can easily mount your .aws directory, i.e.
docker run -v ~/.aws:/root/.aws ...
Configuration#
Once you have created the necessary resources in AWS you must configure your JSPWiki to use the KendraSearchProvider.
To enable it you must add the following properties to your jspwiki-custom.properties file:
jspwiki.searchProvider = org.apache.wiki.search.kendra.KendraSearchProvider jspwiki.kendra.indexName = JSPWikiIndex jspwiki.kendra.dataSourceName = JSPWikiDataSource
- BEWARE
- The jspwiki.kendra.indexName and jspwiki.kendra.dataSourceName must correspond to the name of the Index and Datasource you created in the step above.
Associated JIRA issue: JSPWIKI-1146