I have a problem with my ES deployment. My queries are using a few terms aggregations at once, and I have extremely low performance of queries (~8s for one query).
- Two machines (each with two CPU cores and 13GB of memory)
- ES has 6 GB of memory available
- SSD storage
- ~9M documents
My aggregations are basically facets for products catalog, so I have high cardinality fields (brands, categories, etc).
I tried several configuration improvements (reducing number of shards, increasing memory, tuning cache) but I didn't manage to fix my issue.
When I perform a query with facets, both machines are using their CPUs at 100%. Memory usage and I/O load are low too.
- How to improve queries performance? I don't want to reduce number of used facets
- Which approach is better for facetting - store unique IDs in documents or whole names (for example for categories)