Kei Nishikori held his nerve to beat Grigor Dimitrov in straight sets, to reach the semi-finals of the Brisbane International for the fifth time in the last seven years.