At least four Indian soldiers, including a top officer, and one civilian have been killed in a gunfight with rebels in Indian-administered Kashmir, just days after a suicide bomb attack that killed at least 41 paramilitary officers in the disputed territory.