Hello Han,
Just an observation, you said that your nodes have 24 core cpus, and you
are saying that they use 100% of cpu, in my practice 100% of cpu on a 24
core server - that's 4.16% really and that's sort of low
But you probably meant 2400% anyway.
Hope you figured out your problem.
Not sure if this was addressed as the threads all seem to focus on query tuning. But your sharding strategy is a problem as well. If you have 5 primary shards and 4 replicas then you have a total of 25 shards (5 primaries 0-4 plus 4 replicas of each of those). That is way to many for a 5 node cluster. It is inefficient.
The search will go against all the shards in the index from where request comes in then be returned back and collated to be the response. So not only are you have cluster manage the overhead (mem/cpu) of the extra shards/node you are hitting the nodes 5 times (best case assuming even distribution) for each request whereas should only best case hit it once if there is one shard per node for the index.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.