Kafka - Selecting partition based on a field in message

Is there any way where I can select partition based on a field in message, using some configuration at broker end.I dont want to change producer code to send me key.But still want to maintain ordering of messages based on a field in message.

Not unless you pull out the field and make it the key

Can partition assignment be done only at producer end.Is there anything that can be done at broker level.

Only at the producer level