fix bug of not considering IndexFieldSelector in construct()