Elastic Search
Infra Setup (Open Search):
Deployment Option: Domain With standby is recommended (leaving the AZ for standby to AWS itself)
Set
Fielddata cache allocation
a little biggerthis will give us Improved performance of searches that involve lots with large numbers of values.
Need to consider memory consumption here.
max clause count
- TBD
Monitor the usage metrics and consider scaling up/down, minimizing the costs, and maximizing the performance.
OpenSearch error logs
Search slow logs
Indexing slow logs
Audit logs
Things that impact performance:
Sample Config:
Replicas:
AWS recommends configuring at least two replicas for each index in a three-zone setup to avoid disruption in performance and availability.
Shards
Number of nodes --> Number of Shards
AWS Suggested Formulae: Number of shards ==> 25 x (1/2 x Instance Memory)
For r6g.large.search
instance with a Memory of 16 GB, we can utilize 200 shards which provides us with better performance.
Things to do:
Benchmarking the Instances with different queries.
Queries
What about isolating the data of different clients in ES?
Exploration Pending
ES Serverless
ES Ingestion
References:
Last updated