You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Why these changes are being introduced:
Now that we have the Semantic Query Builder lambda, we need to
integrate it into TIMDEX.
Relevant ticket(s):
- [USE-411](https://mitlibraries.atlassian.net/browse/USE-411)
- [USE-412](https://mitlibraries.atlassian.net/browse/USE-412)
How this addresses that need:
- Adds SemanticQueryBuilder service to invoke the lambda
- Adds queryMode parameter (keyword/semantic) to GraphQL interface
- Implements builder selection pattern in Opensearch model
- Renames AWS credentials to generic variables (AWS_ACCESS_KEY_ID, etc.)
Side effects of this change:
- Adds aws-sdk-lambda and mocha as dependencies.
- Makes small change to OpenSearch initializer: `ENV.fetch('AWS_SESSION_TOKEN', false)`
returns an empty string, which will evaluate to truthy. This has been
updated to check for the presence of the env var instead.
Copy file name to clipboardExpand all lines: README.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,8 +45,8 @@ The test recording process is as follows:
45
45
- Set the following values to whatever cluster you want to connect to in `.env` (Note: `.env` is preferred over `.env.test` because it is already in our `.gitignore` and will work together with `.env.test`.)
46
46
- OPENSEARCH_URL
47
47
- AWS_OPENSEARCH=true
48
-
-AWS_OPENSEARCH_ACCESS_KEY_ID
49
-
-AWS_OPENSEARCH_SECRET_ACCESS_KEY
48
+
-AWS_ACCESS_KEY_ID
49
+
-AWS_SECRET_ACCESS_KEY
50
50
- AWS_REGION
51
51
- Delete any cassette you want to regenerate (for new tests, you can skip this). If you are making a graphql test, nest your cassette inside the `opensearch_init` cassette.
52
52
@@ -158,29 +158,31 @@ locally.
158
158
159
159
## Production required Environment Variables
160
160
161
-
-`AWS_OPENSEARCH`: boolean. Set to true to enable AWSv4 Signing
162
-
-`AWS_OPENSEARCH_ACCESS_KEY_ID`
163
-
-`AWS_OPENSEARCH_SECRET_ACCESS_KEY`
164
-
-`AWS_REGION`
161
+
-`AWS_ACCESS_KEY_ID`: AWS credentials for OpenSearch and Lambda
162
+
-`AWS_SECRET_ACCESS_KEY`: AWS credentials for OpenSearch and Lambda
163
+
-`AWS_REGION`: AWS region for OpenSearch and Lambda services
164
+
-`AWS_OPENSEARCH`: boolean. Set to true to enable AWSv4 Signing for OpenSearch
165
165
-`OPENSEARCH_INDEX`: Opensearch index or alias to query, default will be to search all indexes which is generally not
166
166
expected. `timdex` or `all-current` are aliases used consistently in our data pipelines, with
167
167
`timdex` being most likely what most use cases will want.
168
168
-`OPENSEARCH_URL`: Opensearch URL, defaults to `http://localhost:9200`
169
+
-`TIMDEX_SEMANTIC_BUILDER_FUNCTION_NAME`: AWS Lambda function name with alias for semantic query building.
170
+
Configurable to use alternative deployment tiers (e.g., dev1, stage, prod).
169
171
-`SMTP_ADDRESS`
170
172
-`SMTP_PASSWORD`
171
173
-`SMTP_PORT`
172
174
-`SMTP_USER`
173
175
174
176
## Optional Environment Variables (all ENVs)
175
177
178
+
-`AWS_SESSION_TOKEN`: AWS session token for temporary credentials when using expiring AWS credentials
176
179
-`OPENSEARCH_LOG` if `true`, verbosely logs OpenSearch queries.
177
180
178
181
```text
179
182
NOTE: do not set this ENV at all if you want ES logging fully disabled.
180
183
Setting it to `false` is still setting it and you will be annoyed and
181
184
confused.
182
185
```
183
-
184
186
-`OPENSEARCH_SOURCE_EXCLUDES` comma separated list of fields to exclude from the OpenSearch `_source` field. Leave unset to return all fields.
0 commit comments