Closed JessicaMarine closed 3 years ago
Services / Features By ES Index
efcms-case-deadline
efcms-case
efcms-docket-entry
efcms-message
efcms-user-case
efcms-user
efcms-work-item
Specific tasks via https://github.com/flexion/ef-cms/issues/8072#issuecomment-853359853:
isOrder
and isOpinion
flags on DocketEntry entity and remove eventCode.S
terms filtercc: @codyseibert @kkoskelin @matthopson @mmarcotte
Here's what GitHub does!
Re-indexing Experiment:
Blue/green deploy in ustaxcourt's develop environment including all order and opinion document indexes. Once with 0 replicas, once without modifying replicas.
Success: Takes less than 6 hours, all documents are indexed.
Roughly documenting needed stories:
efcms-docket-entry
indexefcms-docket-entry
index are impacted by service latency or unavailability without being logged out.@matthopson Here are the stories that I queued up for ORDER search. Can you please review them with the Search Party and see if this is covers everything:
Happy to revise/edit as necessary.
As a development team, so that search performs well with many users, we need to investigate solutions that allow users to receive results quickly and not get logged out or timed out, and reduce impact to other critical systems that depend on elastic search.
Pre-Conditions:
Acceptance Criteria:
(1) Investigate other alternatives -- they can't negatively impact other part of the system;
(2) Decide on and document approach; and
(3) Make sure stories in backlog are revised to implement that approach. (Jessica to do)
Notes
caseCaption
andisSealed
on the Case when searching upon the Docket Entry index makes ES work too hard (at least for Advanced Document Search).caseCaption
orisSealed
Tasks
Proposed Solution
Step 1) Add a rate limiter in front of all ElasticSearch queries to limit the number of requests that reach the ElasticSearch cluster. The rate and cluster size could be adjusted to demand based on needs of the users. Instead of throwing a generic error when the searches fail, throw a specific error that informs the user that search is currently unavailable. Set replicas to 2 and shards to 4 for the docketEntry index for performance boosts over the current configuration.
Step 2) Gather metrics from production search usage to identify common searches and statistics.
Step 3) Additional performance tuning